UNPKG

com.phloxui

Version:

PhloxUI Ng2+ Framework

937 lines (936 loc) 75.5 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ import * as tslib_1 from "tslib"; import { Component, Input, Output, ElementRef, EventEmitter, ViewChild, Type } from '@angular/core'; import { I18N } from '../../../../../decorator/I18N.decorator'; import { Option } from '../../../../../decorator/Option.decorator'; import { NeedFocusService } from '../../../../../service/NeedFocusService.service'; import { EventUtils } from '../../../../../share/utils/EventUtils'; import { AbstractSelectOneItem } from '../../../../../component/dataview/input/AbstractSelectOneItem'; import { BEFORE_SHOW_EVENT, SHOW_EVENT, BEFORE_HIDE_EVENT, HIDE_EVENT } from '../../../../../share/CustomEventType'; import { ComponentWrapper } from '../../../../../component/ComponentWrapper.component'; import { FormControl } from '@angular/forms'; const /** @type {?} */ TYPE_NAME = "material-component-dropdown-list"; export class MaterialComponentDropdownList extends AbstractSelectOneItem { /** * @param {?} elementRef * @param {?} needFocusService */ constructor(elementRef, needFocusService) { super(elementRef, needFocusService); this.beforeShowEvent = new EventEmitter(); this.showEvent = new EventEmitter(); this.beforeHideEvent = new EventEmitter(); this.hideEvent = new EventEmitter(); this.formControl = new FormControl(); this.disableRipple = false; } /** * @return {?} */ ngOnInit() { super.ngOnInit(); if (this.selectEvent !== null && this.selectEvent !== undefined) { this.selectEvent.subscribe(($event) => { let /** @type {?} */ sItem = $event.detail.data.item; if (this.dropdownLabel !== null && typeof this.dropdownLabel !== 'undefined') { let /** @type {?} */ sItems = []; sItems.push(sItem); this.dropdownLabel.setData(sItems); } }); } $(this.elementRef.nativeElement).find('mat-select.mat-select').focus(($event) => { if (this.isDisabled()) { return; } this.render(); this.onFocusing($event); }); $(this.elementRef.nativeElement).find('mat-select.mat-select').blur(($event) => { this.onLostFocusing($event); }); } /** * @param {?} changes * @return {?} */ ngOnChanges(changes) { this.render(); } /** * @return {?} */ render() { let /** @type {?} */ matSelectPanel = $.find('.mat-select-panel'); if (matSelectPanel.length > 0 && this.dropdownHeight) { $(matSelectPanel).css("maxHeight", this.dropdownHeight); } if (matSelectPanel.length > 0 && this.dropdownWidth) { $(matSelectPanel).width(this.dropdownWidth); $(matSelectPanel).css("minWidth", this.dropdownWidth); $(matSelectPanel).css("maxWidth", this.dropdownWidth); } } /** * @param {?} $event * @return {?} */ onClick($event) { if (this.isReadOnly()) { this.onFocusing($event); $event.preventDefault(); return; } else if (this.isDisabled()) { $event.preventDefault(); return; } this.render(); } /** * @param {?} $event * @return {?} */ onFocusing($event) { this.needFocusService.setFocusingComponent(this, $event); } /** * @param {?} $event * @return {?} */ onLostFocusing($event) { this.needFocusService.resetFocusingComponent($event); } /** * @param {?} $event * @param {?=} fireEvent * @return {?} */ onSelectionChange($event, fireEvent) { let /** @type {?} */ value = $event.value; let /** @type {?} */ index = this.getItemIndexFromValue(value); let /** @type {?} */ item = this.getItemAtIndex(index); this.setSelectedItem(item, $event, fireEvent); } /** * @param {?} selectedItems * @param {?=} $event * @param {?=} fireEvent * @param {?=} fireChangeEvent * @return {?} */ setSelectedItems(selectedItems, $event, fireEvent, fireChangeEvent) { if (selectedItems === null || selectedItems === undefined || !Array.isArray(selectedItems)) { selectedItems = []; } if (fireEvent === null || fireEvent === undefined) { fireEvent = true; } let /** @type {?} */ sItems = []; let /** @type {?} */ newIndices = []; for (let /** @type {?} */ item of selectedItems) { let /** @type {?} */ idx = this.getItemIndex(item); if (idx >= 0) { newIndices.push(idx); sItems.push(item); } } // Only allow "item" which actually exists. selectedItems = sItems; let /** @type {?} */ oldIndex = this.getSelectedIndexes(); EventUtils.handleBrowserEvent(this, 'beforeSelectEvent', $event, fireEvent, ($event) => { // doEvent this._setSelectedItemsSaveData(selectedItems, true, $event, fireChangeEvent); }, ($event) => { // emitBeforeEvent this.emitBeforeSelectEvent(oldIndex, newIndices, $event); }, ($event, result) => { // emitAfterEvent this.emitSelectEvent(oldIndex, newIndices, $event); }, ($event) => { // doPrevented this.formControl.setValue(this.getSelectedData()); }); } /** * @param {?} $event * @param {?=} fireEvent * @return {?} */ onOpenedChange($event, fireEvent) { if (fireEvent === null || fireEvent === undefined) { fireEvent = true; } if ($event) { // show EventUtils.handleBrowserEvent(this, 'beforeShowEvent', $event, fireEvent, ($event) => { // doEvent }, ($event) => { // emitBeforeEvent this.emitBeforeShowEvent($event); }, ($event, result) => { // emitAfterEvent this.emitShowEvent($event); }, ($event) => { // doPrevented }); } else { // hide EventUtils.handleBrowserEvent(this, 'beforeHideEvent', $event, fireEvent, ($event) => { // doEvent }, ($event) => { // emitBeforeEvent this.emitBeforeHideEvent($event); }, ($event, result) => { // emitAfterEvent this.emitHideEvent($event); }, ($event) => { // doPrevented }); } this.render(); } /** * @param {?=} $event * @return {?} */ emitBeforeShowEvent($event) { let /** @type {?} */ data = null; let /** @type {?} */ ev = EventUtils.newCustomEvent(BEFORE_SHOW_EVENT, this, data, $event); this.beforeShowEvent.emit(ev); } /** * @param {?=} $event * @return {?} */ emitShowEvent($event) { let /** @type {?} */ data = null; let /** @type {?} */ ev = EventUtils.newCustomEvent(SHOW_EVENT, this, data, $event); this.showEvent.emit(ev); } /** * @param {?=} $event * @return {?} */ emitBeforeHideEvent($event) { let /** @type {?} */ data = null; let /** @type {?} */ ev = EventUtils.newCustomEvent(BEFORE_HIDE_EVENT, this, data, $event); this.beforeHideEvent.emit(ev); } /** * @param {?=} $event * @return {?} */ emitHideEvent($event) { let /** @type {?} */ data = null; let /** @type {?} */ ev = EventUtils.newCustomEvent(HIDE_EVENT, this, data, $event); this.hideEvent.emit(ev); } /** * @return {?} */ _displayHelp() { let /** @type {?} */ hasHelp = this.hasHelp(); return hasHelp; } /** * @return {?} */ _getSelectedData() { return this.getSelectedData(); } /** * @return {?} */ hasDescription() { if (this.description !== null && typeof this.description === 'string' && this.description !== '') { return true; } return false; } /** * @return {?} */ hasLabel() { if (this.label !== null && typeof this.label === 'string' && this.label !== '') { return true; } return false; } /** * @return {?} */ getComponentModel() { return this.componentModel; } /** * @param {?} model * @return {?} */ setComponentModel(model) { this.componentModel = model; } /** * @return {?} */ getComponentHandler() { return this.componentHandler; } /** * @param {?} handler * @return {?} */ setComponentHandler(handler) { this.componentHandler = handler; } /** * @return {?} */ getComponentType() { return this.componentType; } /** * @param {?} type * @return {?} */ setComponentType(type) { this.componentType = type; } /** * @return {?} */ getDescription() { return this.description; } /** * @param {?} description * @return {?} */ setDescription(description) { this.description = description; } /** * @return {?} */ getLabel() { return this.label; } /** * @param {?} label * @return {?} */ setLabel(label) { this.label = label; } /** * @return {?} */ getResetLabel() { return this.resetLabel; } /** * @param {?} resetLabel * @return {?} */ setResetLabel(resetLabel) { this.resetLabel = resetLabel; } /** * @return {?} */ getResolveSelectedLabel() { if (this.selectedLabel === null || this.selectedLabel === undefined) { return this.selectedLabel; } if (typeof this.selectedLabel === 'function') { return this.selectedLabel.call(this, this.getSelectedItem()); } return this.selectedLabel; } /** * @return {?} */ getSelectedLabel() { return this.selectedLabel; } /** * @param {?} selectedLabel * @return {?} */ setSelectedLabel(selectedLabel) { this.selectedLabel = selectedLabel; } /** * @return {?} */ getAlign() { return this.align; } /** * @param {?} align * @return {?} */ setAlign(align) { this.align = align; } /** * @return {?} */ getWidth() { return this.width; } /** * @param {?} width * @return {?} */ setWidth(width) { this.width = width; } /** * @return {?} */ getHeight() { return this.height; } /** * @param {?} height * @return {?} */ setHeight(height) { this.height = height; } /** * @return {?} */ getDropdownWidth() { return this.dropdownWidth; } /** * @param {?} dropdownWidth * @return {?} */ setDropdownWidth(dropdownWidth) { this.dropdownWidth = dropdownWidth; this.render(); } /** * @return {?} */ getDropdownHeight() { return this.dropdownHeight; } /** * @param {?} dropdownHeight * @return {?} */ setDropdownHeight(dropdownHeight) { this.dropdownHeight = dropdownHeight; this.render(); } /** * @return {?} */ isDisableRipple() { return this.disableRipple; } /** * @param {?} disableRipple * @return {?} */ setDisableRipple(disableRipple) { this.disableRipple = disableRipple; } /** * @return {?} */ isReadOnly() { return this.readOnly; } /** * @param {?} readOnly * @return {?} */ setReadOnly(readOnly) { this.readOnly = readOnly; } /** * @param {?} $event * @return {?} */ doFocus($event) { if ($(this.elementRef.nativeElement).find('mat-select.mat-select:focus').length <= 0) { $(this.elementRef.nativeElement).find('mat-select.mat-select').focus(); } } /** * @param {?} $event * @return {?} */ doLostFocus($event) { if ($(this.elementRef.nativeElement).find('mat-select.mat-select:focus').length > 0) { $(this.elementRef.nativeElement).find('mat-select.mat-select').blur(); } } /** * @param {?} oldValue * @param {?} inputVal * @param {?=} data * @return {?} */ onDataChangePrevented(oldValue, inputVal, data) { this.formControl.setValue(oldValue); } /** * @param {?} inputValue * @param {?} results * @return {?} */ onValidationEnd(inputValue, results) { } /** * @param {?} data * @param {?} inputVal * @return {?} */ onDataChange(data, inputVal) { } } MaterialComponentDropdownList.TYPE_NAME = TYPE_NAME; MaterialComponentDropdownList.decorators = [ { type: Component, args: [{ moduleId: module.id, selector: TYPE_NAME, template: `<div class="material-input"> <div class="material-component-dropdown-list" [style.width]="getWidth()" [class.readonly]="isReadOnly()" [class.dirty]="isDataDirty()" [ngClass]="'label-'+getAlign()"> <mat-form-field (click)="onClick($event)"> <mat-select [formControl]="formControl" [phxDisableControl]="isDisabled()" disableOptionCentering="true" [style.text-align]="getAlign()" [style.height]="getHeight()" placeholder="{{getLabel() | phx_text}}" [class.normal]="isNormal() && !isDisabled()" [class.success]="isSuccess() && !isDisabled()" [class.warning]="isWarning() && !isDisabled()" [class.error]="isError() && !isDisabled()" [multiple]="false" [disableRipple]="isDisableRipple()" (selectionChange)="onSelectionChange($event)" (openedChange)="onOpenedChange($event)" [value]="_getSelectedData()"> <mat-select-trigger *ngIf="getSelectedLabel() !== '' && getSelectedLabel() !== null && getSelectedLabel() !== undefined"> <span class="select-trigger" [style.text-align]="getAlign()"> {{getResolveSelectedLabel()}} </span> </mat-select-trigger> <mat-option *ngIf="getResetLabel() !== '' && getResetLabel() !== null && getResetLabel() !== undefined" [style.text-align]="getAlign()" [style.width]="getDropdownWidth()" [style.max-height]="getDropdownHeight()">{{getResetLabel()}}</mat-option> <ng-container *ngFor="let item of getItems()"> <mat-optgroup *ngIf="item.group" [label]="item.group"> </mat-optgroup> <mat-option *ngIf="!item.group" [value]="item.value" [style.text-align]="getAlign()"> <phx-component-wrapper [type]="getComponentType()" [model]="getComponentModel()" [handler]="getComponentHandler()" [data]="item"></phx-component-wrapper> </mat-option> </ng-container> </mat-select> </mat-form-field> <div *ngIf="isReadOnly()" class="readonly-panel" (click)="onClick($event)"></div> <div class="validation" [style.display]="getValidationResultMessage() ? undefined : 'none'" [class.normal]="isNormal() && !isDisabled()" [class.success]="isSuccess() && !isDisabled()" [class.warning]="isWarning() && !isDisabled()" [class.error]="isError() && !isDisabled()"> <ng-template [ngIf]="getValidationResultMessage()" [ngIfElse]="validation_else"> {{getValidationResultMessage() | phx_text}} </ng-template> <ng-template #validation_else> <!-- We've to put whitespace if there is no validation msg to prevent empty dom --> <!-- since if validate msg's <div> dom is empty, the component positioning --> <!-- will be misplaced. --> {{ '&nbsp;' }} </ng-template> </div> <div class="description" [style.display]="getValidationResultMessage() ? 'none' : undefined" [class.normal]="isNormal() && !isDisabled()" [class.success]="isSuccess() && !isDisabled()" [class.warning]="isWarning() && !isDisabled()" [class.error]="isError() && !isDisabled()"> <ng-template [ngIf]="getDescription()" [ngIfElse]="description_else"> {{ getDescription() | phx_text }} </ng-template> <ng-template #description_else> <!-- We've to put whitespace if there is no description to prevent empty dom --> <!-- since if description's <div> dom is empty, the component positioning --> <!-- will be misplaced. --> {{ '&nbsp;' }} </ng-template> </div> <div class="help"> {{getHelp() | phx_text}} </div> </div> </div> ` },] }, ]; /** @nocollapse */ MaterialComponentDropdownList.ctorParameters = () => [ { type: ElementRef, }, { type: NeedFocusService, }, ]; MaterialComponentDropdownList.propDecorators = { "dataParent": [{ type: Input },], "ignoreParentData": [{ type: Input },], "data": [{ type: Input },], "ignoreParentDisabled": [{ type: Input },], "delegateHistory": [{ type: Input },], "onDisabled": [{ type: Input },], "onEnabled": [{ type: Input },], "loadingEnabled": [{ type: Input },], "i18nKey": [{ type: Input },], "bypass": [{ type: Input, args: ['i18nBypass',] },], "options": [{ type: Input },], "disabled": [{ type: Input },], "field": [{ type: Input },], "name": [{ type: Input },], "typeOfData": [{ type: Input },], "readOnly": [{ type: Input },], "help": [{ type: Input },], "dataComparator": [{ type: Input, args: ['comparator',] },], "items": [{ type: Input },], "description": [{ type: Input },], "label": [{ type: Input },], "align": [{ type: Input },], "width": [{ type: Input },], "height": [{ type: Input },], "dropdownWidth": [{ type: Input },], "dropdownHeight": [{ type: Input },], "disableRipple": [{ type: Input },], "resetLabel": [{ type: Input },], "selectedLabel": [{ type: Input },], "loadEvent": [{ type: Output, args: ['phxLoad',] },], "startValidateEvent": [{ type: Output, args: ['phxStartValidate',] },], "endValidateEvent": [{ type: Output, args: ['phxEndValidate',] },], "beforeFocusEvent": [{ type: Output, args: ['phxBeforeFocus',] },], "focusEvent": [{ type: Output, args: ['phxFocus',] },], "beforeLostFocusEvent": [{ type: Output, args: ['phxBeforeLostFocus',] },], "lostFocusEvent": [{ type: Output, args: ['phxLostFocus',] },], "beforeChangeEvent": [{ type: Output, args: ['phxBeforeChange',] },], "changeEvent": [{ type: Output, args: ['phxChange',] },], "beforeSelectEvent": [{ type: Output, args: ['phxBeforeSelect',] },], "selectEvent": [{ type: Output, args: ['phxSelect',] },], "componentType": [{ type: Input, args: ['type',] },], "componentModel": [{ type: Input, args: ['model',] },], "componentHandler": [{ type: Input, args: ['handler',] },], "beforeClickEvent": [{ type: Output, args: ['phxBeforeClick',] },], "clickEvent": [{ type: Output, args: ['phxClick',] },], "beforeShowEvent": [{ type: Output, args: ['phxBeforeShow',] },], "showEvent": [{ type: Output, args: ['phxShow',] },], "beforeHideEvent": [{ type: Output, args: ['phxBeforeHide',] },], "hideEvent": [{ type: Output, args: ['phxHide',] },], "handler": [{ type: Input },], "dropdownLabel": [{ type: ViewChild, args: ['dropdownLabel',] },], }; tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Object) ], MaterialComponentDropdownList.prototype, "dataParent", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], MaterialComponentDropdownList.prototype, "ignoreParentData", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Object) ], MaterialComponentDropdownList.prototype, "data", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], MaterialComponentDropdownList.prototype, "ignoreParentDisabled", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], MaterialComponentDropdownList.prototype, "delegateHistory", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Function) ], MaterialComponentDropdownList.prototype, "onDisabled", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Function) ], MaterialComponentDropdownList.prototype, "onEnabled", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], MaterialComponentDropdownList.prototype, "loadingEnabled", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", String) ], MaterialComponentDropdownList.prototype, "i18nKey", void 0); tslib_1.__decorate([ Option('i18nBypass'), tslib_1.__metadata("design:type", Boolean) ], MaterialComponentDropdownList.prototype, "bypass", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], MaterialComponentDropdownList.prototype, "disabled", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", String) ], MaterialComponentDropdownList.prototype, "field", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", String) ], MaterialComponentDropdownList.prototype, "name", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", String) ], MaterialComponentDropdownList.prototype, "typeOfData", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], MaterialComponentDropdownList.prototype, "readOnly", void 0); tslib_1.__decorate([ I18N(), Option(), tslib_1.__metadata("design:type", Object) ], MaterialComponentDropdownList.prototype, "help", void 0); tslib_1.__decorate([ Option('comparator'), tslib_1.__metadata("design:type", Object) ], MaterialComponentDropdownList.prototype, "dataComparator", void 0); tslib_1.__decorate([ I18N(), Option(), tslib_1.__metadata("design:type", Array) ], MaterialComponentDropdownList.prototype, "items", void 0); tslib_1.__decorate([ I18N(), Option(), tslib_1.__metadata("design:type", String) ], MaterialComponentDropdownList.prototype, "description", void 0); tslib_1.__decorate([ I18N(), Option(), tslib_1.__metadata("design:type", String) ], MaterialComponentDropdownList.prototype, "label", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", String) ], MaterialComponentDropdownList.prototype, "align", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", String) ], MaterialComponentDropdownList.prototype, "width", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", String) ], MaterialComponentDropdownList.prototype, "height", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", String) ], MaterialComponentDropdownList.prototype, "dropdownWidth", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", String) ], MaterialComponentDropdownList.prototype, "dropdownHeight", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], MaterialComponentDropdownList.prototype, "disableRipple", void 0); tslib_1.__decorate([ I18N(), Option(), tslib_1.__metadata("design:type", String) ], MaterialComponentDropdownList.prototype, "resetLabel", void 0); tslib_1.__decorate([ I18N(), Option(), tslib_1.__metadata("design:type", Object) ], MaterialComponentDropdownList.prototype, "selectedLabel", void 0); tslib_1.__decorate([ Option('load'), tslib_1.__metadata("design:type", EventEmitter) ], MaterialComponentDropdownList.prototype, "loadEvent", void 0); tslib_1.__decorate([ Option('startValidate'), tslib_1.__metadata("design:type", EventEmitter) ], MaterialComponentDropdownList.prototype, "startValidateEvent", void 0); tslib_1.__decorate([ Option('endValidate'), tslib_1.__metadata("design:type", EventEmitter) ], MaterialComponentDropdownList.prototype, "endValidateEvent", void 0); tslib_1.__decorate([ Option('beforeFocus'), tslib_1.__metadata("design:type", EventEmitter) ], MaterialComponentDropdownList.prototype, "beforeFocusEvent", void 0); tslib_1.__decorate([ Option('focus'), tslib_1.__metadata("design:type", EventEmitter) ], MaterialComponentDropdownList.prototype, "focusEvent", void 0); tslib_1.__decorate([ Option('beforeLostFocus'), tslib_1.__metadata("design:type", EventEmitter) ], MaterialComponentDropdownList.prototype, "beforeLostFocusEvent", void 0); tslib_1.__decorate([ Option('lostFocus'), tslib_1.__metadata("design:type", EventEmitter) ], MaterialComponentDropdownList.prototype, "lostFocusEvent", void 0); tslib_1.__decorate([ Option('beforeChange'), tslib_1.__metadata("design:type", EventEmitter) ], MaterialComponentDropdownList.prototype, "beforeChangeEvent", void 0); tslib_1.__decorate([ Option('change'), tslib_1.__metadata("design:type", EventEmitter) ], MaterialComponentDropdownList.prototype, "changeEvent", void 0); tslib_1.__decorate([ Option('beforeSelect'), tslib_1.__metadata("design:type", EventEmitter) ], MaterialComponentDropdownList.prototype, "beforeSelectEvent", void 0); tslib_1.__decorate([ Option('select'), tslib_1.__metadata("design:type", EventEmitter) ], MaterialComponentDropdownList.prototype, "selectEvent", void 0); tslib_1.__decorate([ Option('type'), tslib_1.__metadata("design:type", Type) ], MaterialComponentDropdownList.prototype, "componentType", void 0); tslib_1.__decorate([ I18N('model'), Option('model'), tslib_1.__metadata("design:type", Object) ], MaterialComponentDropdownList.prototype, "componentModel", void 0); tslib_1.__decorate([ Option('handler'), tslib_1.__metadata("design:type", Function) ], MaterialComponentDropdownList.prototype, "componentHandler", void 0); tslib_1.__decorate([ Option('beforeClick'), tslib_1.__metadata("design:type", EventEmitter) ], MaterialComponentDropdownList.prototype, "beforeClickEvent", void 0); tslib_1.__decorate([ Option('click'), tslib_1.__metadata("design:type", EventEmitter) ], MaterialComponentDropdownList.prototype, "clickEvent", void 0); tslib_1.__decorate([ Option('beforeShow'), tslib_1.__metadata("design:type", EventEmitter) ], MaterialComponentDropdownList.prototype, "beforeShowEvent", void 0); tslib_1.__decorate([ Option('show'), tslib_1.__metadata("design:type", EventEmitter) ], MaterialComponentDropdownList.prototype, "showEvent", void 0); tslib_1.__decorate([ Option('beforeHide'), tslib_1.__metadata("design:type", EventEmitter) ], MaterialComponentDropdownList.prototype, "beforeHideEvent", void 0); tslib_1.__decorate([ Option('hide'), tslib_1.__metadata("design:type", EventEmitter) ], MaterialComponentDropdownList.prototype, "hideEvent", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Function) ], MaterialComponentDropdownList.prototype, "handler", void 0); function MaterialComponentDropdownList_tsickle_Closure_declarations() { /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */ MaterialComponentDropdownList.decorators; /** * @nocollapse * @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>} */ MaterialComponentDropdownList.ctorParameters; /** @type {!Object<string,!Array<{type: !Function, args: (undefined|!Array<?>)}>>} */ MaterialComponentDropdownList.propDecorators; /** @type {?} */ MaterialComponentDropdownList.TYPE_NAME; /** @type {?} */ MaterialComponentDropdownList.prototype.dataParent; /** @type {?} */ MaterialComponentDropdownList.prototype.ignoreParentData; /** @type {?} */ MaterialComponentDropdownList.prototype.data; /** @type {?} */ MaterialComponentDropdownList.prototype.ignoreParentDisabled; /** @type {?} */ MaterialComponentDropdownList.prototype.delegateHistory; /** @type {?} */ MaterialComponentDropdownList.prototype.onDisabled; /** @type {?} */ MaterialComponentDropdownList.prototype.onEnabled; /** @type {?} */ MaterialComponentDropdownList.prototype.loadingEnabled; /** @type {?} */ MaterialComponentDropdownList.prototype.i18nKey; /** @type {?} */ MaterialComponentDropdownList.prototype.bypass; /** @type {?} */ MaterialComponentDropdownList.prototype.options; /** @type {?} */ MaterialComponentDropdownList.prototype.disabled; /** @type {?} */ MaterialComponentDropdownList.prototype.field; /** @type {?} */ MaterialComponentDropdownList.prototype.name; /** @type {?} */ MaterialComponentDropdownList.prototype.typeOfData; /** @type {?} */ MaterialComponentDropdownList.prototype.readOnly; /** @type {?} */ MaterialComponentDropdownList.prototype.help; /** @type {?} */ MaterialComponentDropdownList.prototype.dataComparator; /** @type {?} */ MaterialComponentDropdownList.prototype.items; /** @type {?} */ MaterialComponentDropdownList.prototype.description; /** @type {?} */ MaterialComponentDropdownList.prototype.label; /** @type {?} */ MaterialComponentDropdownList.prototype.align; /** @type {?} */ MaterialComponentDropdownList.prototype.width; /** @type {?} */ MaterialComponentDropdownList.prototype.height; /** @type {?} */ MaterialComponentDropdownList.prototype.dropdownWidth; /** @type {?} */ MaterialComponentDropdownList.prototype.dropdownHeight; /** @type {?} */ MaterialComponentDropdownList.prototype.disableRipple; /** @type {?} */ MaterialComponentDropdownList.prototype.resetLabel; /** @type {?} */ MaterialComponentDropdownList.prototype.selectedLabel; /** @type {?} */ MaterialComponentDropdownList.prototype.formControl; /** @type {?} */ MaterialComponentDropdownList.prototype.loadEvent; /** @type {?} */ MaterialComponentDropdownList.prototype.startValidateEvent; /** @type {?} */ MaterialComponentDropdownList.prototype.endValidateEvent; /** @type {?} */ MaterialComponentDropdownList.prototype.beforeFocusEvent; /** @type {?} */ MaterialComponentDropdownList.prototype.focusEvent; /** @type {?} */ MaterialComponentDropdownList.prototype.beforeLostFocusEvent; /** @type {?} */ MaterialComponentDropdownList.prototype.lostFocusEvent; /** @type {?} */ MaterialComponentDropdownList.prototype.beforeChangeEvent; /** @type {?} */ MaterialComponentDropdownList.prototype.changeEvent; /** @type {?} */ MaterialComponentDropdownList.prototype.beforeSelectEvent; /** @type {?} */ MaterialComponentDropdownList.prototype.selectEvent; /** @type {?} */ MaterialComponentDropdownList.prototype.componentType; /** @type {?} */ MaterialComponentDropdownList.prototype.componentModel; /** @type {?} */ MaterialComponentDropdownList.prototype.componentHandler; /** @type {?} */ MaterialComponentDropdownList.prototype.beforeClickEvent; /** @type {?} */ MaterialComponentDropdownList.prototype.clickEvent; /** @type {?} */ MaterialComponentDropdownList.prototype.beforeShowEvent; /** @type {?} */ MaterialComponentDropdownList.prototype.showEvent; /** @type {?} */ MaterialComponentDropdownList.prototype.beforeHideEvent; /** @type {?} */ MaterialComponentDropdownList.prototype.hideEvent; /** @type {?} */ MaterialComponentDropdownList.prototype.handler; /** @type {?} */ MaterialComponentDropdownList.prototype.dropdownLabel; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWF0ZXJpYWxDb21wb25lbnREcm9wZG93bkxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vY29tLnBobG94dWkvIiwic291cmNlcyI6WyJsaWIvdGhlbWUvbWF0ZXJpYWwvY29tcG9uZW50L2RhdGF2aWV3L2lucHV0L01hdGVyaWFsQ29tcG9uZW50RHJvcGRvd25MaXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHNUcsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUNuRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDbkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFHdEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNwSCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUV2RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJN0MsdUJBQU0sU0FBUyxHQUFXLGtDQUFrQyxDQUFDO0FBdUQ3RCxNQUFNLG9DQUFxQyxTQUFRLHFCQUFxQjs7Ozs7SUFxTHRFLFlBQVksVUFBc0IsRUFBRSxnQkFBa0M7UUFDcEUsS0FBSyxDQUFDLFVBQVUsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBRXBDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztR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YUFBYSxDQUFDO3NDQUNNLFlBQVk7OztJQUV2QyxNQUFNLENBQUMsT0FBTyxDQUFDO3NDQUNNLFlBQVk7OztJQUVqQyxNQUFNLENBQUMsWUFBWSxDQUFDO3NDQUNNLFlBQVk7OztJQUV0QyxNQUFNLENBQUMsTUFBTSxDQUFDO3NDQUNNLFlBQVk7OztJQUVoQyxNQUFNLENBQUMsWUFBWSxDQUFDO3NDQUNNLFlBQVk7OztJQUV0QyxNQUFNLENBQUMsTUFBTSxDQUFDO3NDQUNNLFlBQVk7OztJQUNoQyxNQUFNLEVBQUU7c0NBRVUsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIFZpZXdDaGlsZCwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJSGFzRGF0YSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudC9JSGFzRGF0YSc7XHJcbmltcG9ydCB7IFZhbGlkYXRpb25SZXN1bHQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb21wb25lbnQvbW9kZWwvVmFsaWRhdGlvblJlc3VsdCc7XHJcbmltcG9ydCB7IEkxOE4gfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9kZWNvcmF0b3IvSTE4Ti5kZWNvcmF0b3InO1xyXG5pbXBvcnQgeyBPcHRpb24gfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9kZWNvcmF0b3IvT3B0aW9uLmRlY29yYXRvcic7XHJcbmltcG9ydCB7IE5lZWRGb2N1c1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlL05lZWRGb2N1c1NlcnZpY2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IEV2ZW50VXRpbHMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zaGFyZS91dGlscy9FdmVudFV0aWxzJztcclxuaW1wb3J0IHsgQWJzdHJhY3RTZWxlY3RPbmVJdGVtIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50L2RhdGF2aWV3L2lucHV0L0Fic3RyYWN0U2VsZWN0T25lSXRlbSc7XHJcbmltcG9ydCB7IERlZmF1bHRTZWxlY3RJdGVtTW9kZWwgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb21wb25lbnQvbW9kZWwvRGVmYXVsdFNlbGVjdEl0ZW1Nb2RlbCc7XHJcbmltcG9ydCB7IElEYXRhQ29tcGFyYXRvciB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudC9JRGF0YUNvbXBhcmF0b3InO1xyXG5pbXBvcnQgeyBCRUZPUkVfU0hPV19FVkVOVCwgU0hPV19FVkVOVCwgQkVGT1JFX0hJREVfRVZFTlQsIEhJREVfRVZFTlQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zaGFyZS9DdXN0b21FdmVudFR5cGUnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRXcmFwcGVyIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50L0NvbXBvbmVudFdyYXBwZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSVNlbGVjdEl0ZW1Nb2RlbCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudC9tb2RlbC9JU2VsZWN0SXRlbU1vZGVsJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5kZWNsYXJlIHZhciAkOiBhbnk7XHJcblxyXG5jb25zdCBUWVBFX05BTUU6I