import { Component, Input } from '@angular/core';
import * as i0 from "@angular/core";
import * as i1 from "../../services/smz-forms-dropdown.service";
import * as i2 from "@angular/common";
import * as i3 from "@angular/flex-layout/flex";
import * as i4 from "@angular/forms";
import * as i5 from "primeng/multiselect";
import * as i6 from "../validation-messages/validation-messages.component";
import * as i7 from "./get-current-multiselect-options.pipe";
export class LinkedMultiSelectComponent {
    constructor(service) {
        this.service = service;
    }
    ngOnInit() {
        this.service.registryDependsOnData(this.input, this.formId);
        this.service.registryObserver(this.input, this.formId);
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: LinkedMultiSelectComponent, deps: [{ token: i1.SmzFormsDropdownService }], target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: LinkedMultiSelectComponent, selector: "smz-linked-multi-select", inputs: { input: "input", formId: "formId", control: "control", behaviors: "behaviors" }, ngImport: i0, template: "<div class=\"ui-g ui-fluid\">\r\n    <div class=\"ui-g-12 grid-nogutter no-padding\">\r\n      <label *ngIf=\"input.hideLabel != true\" class=\"smz__input_name\" [innerHTML]=\"input.name\"></label>\r\n      <div class=\"input_inner__wrapper grid grid-nogutter\">\r\n          <p-multiSelect\r\n            fxFlex=\"grow\"\r\n            class=\"col-12 grid-nogutter smz__input_value\"\r\n            [id]=\"input.propertyName\"\r\n            [options]=\"(service.observers[formId + input.propertyName]?.options | async ) | GetCurrentMultiselectOptions : input\"\r\n            [formControl]=\"control\"\r\n            optionLabel=\"name\"\r\n            [defaultLabel]=\"input.defaultLabel\"\r\n            [panelStyle]=\"{ minWidth: '20em' }\"\r\n            appendTo=\"body\"\r\n            [filter]=\"input.showFilter ? true : false\"\r\n            [filterMatchMode]=\"input.filterMatchMode != null ? input.filterMatchMode : 'contains'\"\r\n            [showClear]=\"input.showClear\"\r\n            [emptyMessage]=\"input.emptyMessage\"\r\n            [emptyFilterMessage]=\"input.emptyFilterMessage\"\r\n            [autofocusFilter]=\"input.autofocusFilter\">\r\n          </p-multiSelect>\r\n          <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n      </div>\r\n    </div>\r\n</div>", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultFlexDirective, selector: "  [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md],  [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md],  [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm],  [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: i5.MultiSelect, selector: "p-multiSelect", inputs: ["id", "ariaLabel", "style", "styleClass", "panelStyle", "panelStyleClass", "inputId", "disabled", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "appendTo", "dataKey", "name", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "filterBy", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "showClear", "autofocus", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "defaultLabel", "placeholder", "options", "filterValue", "itemSize", "selectAll", "focusOnHover", "filterFields", "selectOnFocus", "autoOptionFocus"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onClear", "onPanelShow", "onPanelHide", "onLazyLoad", "onRemove", "onSelectAllChange"] }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i6.ValidationMessagesComponent, selector: "smz-validation-messages", inputs: ["input", "control", "behaviors", "extraMessages"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.GetCurrentMultiselectOptionsPipe, name: "GetCurrentMultiselectOptions" }] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: LinkedMultiSelectComponent, decorators: [{
            type: Component,
            args: [{ selector: 'smz-linked-multi-select', template: "<div class=\"ui-g ui-fluid\">\r\n    <div class=\"ui-g-12 grid-nogutter no-padding\">\r\n      <label *ngIf=\"input.hideLabel != true\" class=\"smz__input_name\" [innerHTML]=\"input.name\"></label>\r\n      <div class=\"input_inner__wrapper grid grid-nogutter\">\r\n          <p-multiSelect\r\n            fxFlex=\"grow\"\r\n            class=\"col-12 grid-nogutter smz__input_value\"\r\n            [id]=\"input.propertyName\"\r\n            [options]=\"(service.observers[formId + input.propertyName]?.options | async ) | GetCurrentMultiselectOptions : input\"\r\n            [formControl]=\"control\"\r\n            optionLabel=\"name\"\r\n            [defaultLabel]=\"input.defaultLabel\"\r\n            [panelStyle]=\"{ minWidth: '20em' }\"\r\n            appendTo=\"body\"\r\n            [filter]=\"input.showFilter ? true : false\"\r\n            [filterMatchMode]=\"input.filterMatchMode != null ? input.filterMatchMode : 'contains'\"\r\n            [showClear]=\"input.showClear\"\r\n            [emptyMessage]=\"input.emptyMessage\"\r\n            [emptyFilterMessage]=\"input.emptyFilterMessage\"\r\n            [autofocusFilter]=\"input.autofocusFilter\">\r\n          </p-multiSelect>\r\n          <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n      </div>\r\n    </div>\r\n</div>" }]
        }], ctorParameters: () => [{ type: i1.SmzFormsDropdownService }], propDecorators: { input: [{
                type: Input
            }], formId: [{
                type: Input
            }], control: [{
                type: Input
            }], behaviors: [{
                type: Input
            }] } });
//# sourceMappingURL=data:application/json;base64, 