com.phloxui
Version:
PhloxUI Ng2+ Framework
955 lines (954 loc) • 74.6 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
import * as tslib_1 from "tslib";
import { Component, ElementRef, Input, Output, EventEmitter } from '@angular/core';
import { NeedFocusService } from '../../../../../service/NeedFocusService.service';
import { I18N } from '../../../../../decorator/I18N.decorator';
import { Option } from '../../../../../decorator/Option.decorator';
import { AbstractSelectOneItem } from '../../../../../component/dataview/input/AbstractSelectOneItem';
import { BEFORE_SHOW_EVENT, SHOW_EVENT, BEFORE_HIDE_EVENT, HIDE_EVENT } from '../../../../../share/CustomEventType';
import { EventUtils } from '../../../../../share/utils/EventUtils';
import { FormControl } from '@angular/forms';
const /** @type {?} */ TYPE_NAME = "material-simple-dropdown";
const /** @type {?} */ NORMAL = 'normal';
const /** @type {?} */ SUCCESS = 'success';
const /** @type {?} */ WARNING = 'warning';
const /** @type {?} */ ERROR = 'error';
export class MaterialSimpleDropdownList extends AbstractSelectOneItem {
/**
* @param {?} needFocusService
* @param {?} elementRef
*/
constructor(needFocusService, elementRef) {
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();
$(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) {
// fix bug when set selected before item is not loaded
if (changes['items'] !== null && typeof changes['items'] !== 'undefined') {
let /** @type {?} */ oldType = changes['items'].previousValue;
let /** @type {?} */ newType = changes['items'].currentValue;
let /** @type {?} */ oldSize = (oldType !== null && typeof oldType !== 'undefined' && Array.isArray(oldType)) ? oldType.length : 0;
let /** @type {?} */ newSize = (newType !== null && typeof newType !== 'undefined' && Array.isArray(newType)) ? newType.length : 0;
if (oldSize !== newSize) {
if (this.dataParent !== null && this.dataParent !== undefined) {
// fix bug setData but still has a bug this.comp.setData() in ngOnInit
setTimeout(() => {
this.loadedItems();
}, 1);
}
else {
this.loadedItems();
}
}
}
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;
}
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 {?} oldValue
* @param {?} inputVal
* @param {?=} data
* @return {?}
*/
onDataChangePrevented(oldValue, inputVal, data) {
this.formControl.setValue(oldValue);
}
/**
* @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 {?}
*/
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 {?}
*/
_getSelectedData() {
return this.getSelectedData();
}
/**
* @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;
}
/**
* @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 {?} inputValue
* @param {?} results
* @return {?}
*/
onValidationEnd(inputValue, results) {
}
/**
* @param {?} data
* @param {?} inputVal
* @return {?}
*/
onDataChange(data, inputVal) {
}
/**
* @return {?}
*/
getBeforeClickEvent() {
return this.beforeClickEvent;
}
/**
* @param {?} event
* @return {?}
*/
setBeforeClickEvent(event) {
this.beforeClickEvent = event;
}
/**
* @return {?}
*/
getClickEvent() {
return this.clickEvent;
}
/**
* @param {?} event
* @return {?}
*/
setClickEvent(event) {
this.clickEvent = event;
}
/**
* @return {?}
*/
getBeforeShowEvent() {
return this.beforeShowEvent;
}
/**
* @param {?} event
* @return {?}
*/
setBeforeShowEvent(event) {
this.beforeShowEvent = event;
}
/**
* @return {?}
*/
getShowEvent() {
return this.showEvent;
}
/**
* @param {?} event
* @return {?}
*/
setShowEvent(event) {
this.showEvent = event;
}
/**
* @return {?}
*/
getBeforeHideEvent() {
return this.beforeHideEvent;
}
/**
* @param {?} event
* @return {?}
*/
setBeforeHideEvent(event) {
this.beforeHideEvent = event;
}
/**
* @return {?}
*/
getHideEvent() {
return this.hideEvent;
}
/**
* @param {?} event
* @return {?}
*/
setHideEvent(event) {
this.hideEvent = event;
}
/**
* @param {?} data
* @return {?}
*/
setData(data) {
super.setData(data);
this.setPreloadData(data);
}
}
MaterialSimpleDropdownList.TYPE_NAME = TYPE_NAME;
MaterialSimpleDropdownList.decorators = [
{ type: Component, args: [{
moduleId: module.id,
selector: TYPE_NAME,
template: `<div class="material-simple-dropdown" [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()">{{getResetLabel()}}</mat-option>
<ng-container *ngFor="let item of getItems()">
<mat-optgroup *ngIf="item.group" [label]="item.group" [style.width]="getDropdownWidth()">
</mat-optgroup>
<mat-option *ngIf="!item.group" [value]="item.value" [style.text-align]="getAlign()">
{{item.label}}
</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. -->
{{ ' ' }}
</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. -->
{{ ' ' }}
</ng-template>
</div>
<div class="help">
{{getHelp() | phx_text}}
</div>
</div>
`,
},] },
];
/** @nocollapse */
MaterialSimpleDropdownList.ctorParameters = () => [
{ type: NeedFocusService, },
{ type: ElementRef, },
];
MaterialSimpleDropdownList.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 },],
"value": [{ 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',] },],
"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',] },],
};
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Object)
], MaterialSimpleDropdownList.prototype, "dataParent", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], MaterialSimpleDropdownList.prototype, "ignoreParentData", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Object)
], MaterialSimpleDropdownList.prototype, "data", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], MaterialSimpleDropdownList.prototype, "ignoreParentDisabled", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], MaterialSimpleDropdownList.prototype, "delegateHistory", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Function)
], MaterialSimpleDropdownList.prototype, "onDisabled", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Function)
], MaterialSimpleDropdownList.prototype, "onEnabled", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], MaterialSimpleDropdownList.prototype, "loadingEnabled", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", String)
], MaterialSimpleDropdownList.prototype, "i18nKey", void 0);
tslib_1.__decorate([
Option('i18nBypass'),
tslib_1.__metadata("design:type", Boolean)
], MaterialSimpleDropdownList.prototype, "bypass", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], MaterialSimpleDropdownList.prototype, "disabled", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", String)
], MaterialSimpleDropdownList.prototype, "field", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", String)
], MaterialSimpleDropdownList.prototype, "name", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", String)
], MaterialSimpleDropdownList.prototype, "typeOfData", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], MaterialSimpleDropdownList.prototype, "readOnly", void 0);
tslib_1.__decorate([
I18N(),
Option(),
tslib_1.__metadata("design:type", Object)
], MaterialSimpleDropdownList.prototype, "help", void 0);
tslib_1.__decorate([
Option('comparator'),
tslib_1.__metadata("design:type", Object)
], MaterialSimpleDropdownList.prototype, "dataComparator", void 0);
tslib_1.__decorate([
I18N(),
Option(),
tslib_1.__metadata("design:type", Array)
], MaterialSimpleDropdownList.prototype, "items", void 0);
tslib_1.__decorate([
I18N(),
Option(),
tslib_1.__metadata("design:type", String)
], MaterialSimpleDropdownList.prototype, "description", void 0);
tslib_1.__decorate([
I18N(),
Option(),
tslib_1.__metadata("design:type", String)
], MaterialSimpleDropdownList.prototype, "label", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", String)
], MaterialSimpleDropdownList.prototype, "align", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", String)
], MaterialSimpleDropdownList.prototype, "width", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", String)
], MaterialSimpleDropdownList.prototype, "height", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", String)
], MaterialSimpleDropdownList.prototype, "dropdownWidth", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", String)
], MaterialSimpleDropdownList.prototype, "dropdownHeight", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], MaterialSimpleDropdownList.prototype, "disableRipple", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", String)
], MaterialSimpleDropdownList.prototype, "value", void 0);
tslib_1.__decorate([
I18N(),
Option(),
tslib_1.__metadata("design:type", String)
], MaterialSimpleDropdownList.prototype, "resetLabel", void 0);
tslib_1.__decorate([
I18N(),
Option(),
tslib_1.__metadata("design:type", Object)
], MaterialSimpleDropdownList.prototype, "selectedLabel", void 0);
tslib_1.__decorate([
Option('load'),
tslib_1.__metadata("design:type", EventEmitter)
], MaterialSimpleDropdownList.prototype, "loadEvent", void 0);
tslib_1.__decorate([
Option('startValidate'),
tslib_1.__metadata("design:type", EventEmitter)
], MaterialSimpleDropdownList.prototype, "startValidateEvent", void 0);
tslib_1.__decorate([
Option('endValidate'),
tslib_1.__metadata("design:type", EventEmitter)
], MaterialSimpleDropdownList.prototype, "endValidateEvent", void 0);
tslib_1.__decorate([
Option('beforeFocus'),
tslib_1.__metadata("design:type", EventEmitter)
], MaterialSimpleDropdownList.prototype, "beforeFocusEvent", void 0);
tslib_1.__decorate([
Option('focus'),
tslib_1.__metadata("design:type", EventEmitter)
], MaterialSimpleDropdownList.prototype, "focusEvent", void 0);
tslib_1.__decorate([
Option('beforeLostFocus'),
tslib_1.__metadata("design:type", EventEmitter)
], MaterialSimpleDropdownList.prototype, "beforeLostFocusEvent", void 0);
tslib_1.__decorate([
Option('lostFocus'),
tslib_1.__metadata("design:type", EventEmitter)
], MaterialSimpleDropdownList.prototype, "lostFocusEvent", void 0);
tslib_1.__decorate([
Option('beforeChange'),
tslib_1.__metadata("design:type", EventEmitter)
], MaterialSimpleDropdownList.prototype, "beforeChangeEvent", void 0);
tslib_1.__decorate([
Option('change'),
tslib_1.__metadata("design:type", EventEmitter)
], MaterialSimpleDropdownList.prototype, "changeEvent", void 0);
tslib_1.__decorate([
Option('beforeSelect'),
tslib_1.__metadata("design:type", EventEmitter)
], MaterialSimpleDropdownList.prototype, "beforeSelectEvent", void 0);
tslib_1.__decorate([
Option('select'),
tslib_1.__metadata("design:type", EventEmitter)
], MaterialSimpleDropdownList.prototype, "selectEvent", void 0);
tslib_1.__decorate([
Option('beforeClick'),
tslib_1.__metadata("design:type", EventEmitter)
], MaterialSimpleDropdownList.prototype, "beforeClickEvent", void 0);
tslib_1.__decorate([
Option('click'),
tslib_1.__metadata("design:type", EventEmitter)
], MaterialSimpleDropdownList.prototype, "clickEvent", void 0);
tslib_1.__decorate([
Option('beforeShow'),
tslib_1.__metadata("design:type", EventEmitter)
], MaterialSimpleDropdownList.prototype, "beforeShowEvent", void 0);
tslib_1.__decorate([
Option('show'),
tslib_1.__metadata("design:type", EventEmitter)
], MaterialSimpleDropdownList.prototype, "showEvent", void 0);
tslib_1.__decorate([
Option('beforeHide'),
tslib_1.__metadata("design:type", EventEmitter)
], MaterialSimpleDropdownList.prototype, "beforeHideEvent", void 0);
tslib_1.__decorate([
Option('hide'),
tslib_1.__metadata("design:type", EventEmitter)
], MaterialSimpleDropdownList.prototype, "hideEvent", void 0);
function MaterialSimpleDropdownList_tsickle_Closure_declarations() {
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
MaterialSimpleDropdownList.decorators;
/**
* @nocollapse
* @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>}
*/
MaterialSimpleDropdownList.ctorParameters;
/** @type {!Object<string,!Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
MaterialSimpleDropdownList.propDecorators;
/** @type {?} */
MaterialSimpleDropdownList.TYPE_NAME;
/** @type {?} */
MaterialSimpleDropdownList.prototype.dataParent;
/** @type {?} */
MaterialSimpleDropdownList.prototype.ignoreParentData;
/** @type {?} */
MaterialSimpleDropdownList.prototype.data;
/** @type {?} */
MaterialSimpleDropdownList.prototype.ignoreParentDisabled;
/** @type {?} */
MaterialSimpleDropdownList.prototype.delegateHistory;
/** @type {?} */
MaterialSimpleDropdownList.prototype.onDisabled;
/** @type {?} */
MaterialSimpleDropdownList.prototype.onEnabled;
/** @type {?} */
MaterialSimpleDropdownList.prototype.loadingEnabled;
/** @type {?} */
MaterialSimpleDropdownList.prototype.i18nKey;
/** @type {?} */
MaterialSimpleDropdownList.prototype.bypass;
/** @type {?} */
MaterialSimpleDropdownList.prototype.options;
/** @type {?} */
MaterialSimpleDropdownList.prototype.disabled;
/** @type {?} */
MaterialSimpleDropdownList.prototype.field;
/** @type {?} */
MaterialSimpleDropdownList.prototype.name;
/** @type {?} */
MaterialSimpleDropdownList.prototype.typeOfData;
/** @type {?} */
MaterialSimpleDropdownList.prototype.readOnly;
/** @type {?} */
MaterialSimpleDropdownList.prototype.help;
/** @type {?} */
MaterialSimpleDropdownList.prototype.dataComparator;
/** @type {?} */
MaterialSimpleDropdownList.prototype.items;
/** @type {?} */
MaterialSimpleDropdownList.prototype.description;
/** @type {?} */
MaterialSimpleDropdownList.prototype.label;
/** @type {?} */
MaterialSimpleDropdownList.prototype.align;
/** @type {?} */
MaterialSimpleDropdownList.prototype.width;
/** @type {?} */
MaterialSimpleDropdownList.prototype.height;
/** @type {?} */
MaterialSimpleDropdownList.prototype.dropdownWidth;
/** @type {?} */
MaterialSimpleDropdownList.prototype.dropdownHeight;
/** @type {?} */
MaterialSimpleDropdownList.prototype.disableRipple;
/** @type {?} */
MaterialSimpleDropdownList.prototype.value;
/** @type {?} */
MaterialSimpleDropdownList.prototype.resetLabel;
/** @type {?} */
MaterialSimpleDropdownList.prototype.selectedLabel;
/** @type {?} */
MaterialSimpleDropdownList.prototype.formControl;
/** @type {?} */
MaterialSimpleDropdownList.prototype.loadEvent;
/** @type {?} */
MaterialSimpleDropdownList.prototype.startValidateEvent;
/** @type {?} */
MaterialSimpleDropdownList.prototype.endValidateEvent;
/** @type {?} */
MaterialSimpleDropdownList.prototype.beforeFocusEvent;
/** @type {?} */
MaterialSimpleDropdownList.prototype.focusEvent;
/** @type {?} */
MaterialSimpleDropdownList.prototype.beforeLostFocusEvent;
/** @type {?} */
MaterialSimpleDropdownList.prototype.lostFocusEvent;
/** @type {?} */
MaterialSimpleDropdownList.prototype.beforeChangeEvent;
/** @type {?} */
MaterialSimpleDropdownList.prototype.changeEvent;
/** @type {?} */
MaterialSimpleDropdownList.prototype.beforeSelectEvent;
/** @type {?} */
MaterialSimpleDropdownList.prototype.selectEvent;
/** @type {?} */
MaterialSimpleDropdownList.prototype.beforeClickEvent;
/** @type {?} */
MaterialSimpleDropdownList.prototype.clickEvent;
/** @type {?} */
MaterialSimpleDropdownList.prototype.beforeShowEvent;
/** @type {?} */
MaterialSimpleDropdownList.prototype.showEvent;
/** @type {?} */
MaterialSimpleDropdownList.prototype.beforeHideEvent;
/** @type {?} */
MaterialSimpleDropdownList.prototype.hideEvent;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWF0ZXJpYWxTaW1wbGVEcm9wZG93bkxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vY29tLnBobG94dWkvIiwic291cmNlcyI6WyJsaWIvdGhlbWUvbWF0ZXJpYWwvY29tcG9uZW50L2RhdGF2aWV3L2lucHV0L01hdGVyaWFsU2ltcGxlRHJvcGRvd25MaXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBS3RHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ25GLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFFdEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNwSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFbkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSTdDLHVCQUFNLFNBQVMsR0FBVywwQkFBMEIsQ0FBQztBQUVyRCx1QkFBTSxNQUFNLEdBQVcsUUFBUSxDQUFDO0FBQ2hDLHVCQUFNLE9BQU8sR0FBVyxTQUFTLENBQUM7QUFDbEMsdUJBQU0sT0FBTyxHQUFXLFNBQVMsQ0FBQztBQUNsQyx1QkFBTSxLQUFLLEdBQVcsT0FBTyxDQUFDO0FBcUQ5QixNQUFNLGlDQUFrQyxTQUFRLHFCQUFxQjs7Ozs7SUF1S25FLFlBQVksZ0JBQWtDLEVBQUUsVUFBc0I7UUFDcEUsS0FBSyxDQUFDLFVBQVUsRUFBRSxnQkFBZ0Is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Ozs7O0lBR1IsTUFBTSxFQUFFOzs7O0lBR1IsTUFBTSxFQUFFOzs7O0lBR1IsTUFBTSxFQUFFOzs7O0lBRVIsSUFBSSxFQUFFO0lBRU4sTUFBTSxFQUFFOzs7O0lBRVIsSUFBSSxFQUFFO0lBRU4sTUFBTSxFQUFFOzs7O0lBUVIsTUFBTSxDQUFDLE1BQU0sQ0FBQztzQ0FDTSxZQUFZOzs7SUFJaEMsTUFBTSxDQUFDLGVBQWUsQ0FBQztzQ0FDTSxZQUFZOzs7SUFFekMsTUFBTSxDQUFDLGFBQWEsQ0FBQztzQ0FDTSxZQUFZOzs7SUFFdkMsTUFBTSxDQUFDLGFBQWEsQ0FBQztzQ0FDTSxZQUFZOzs7SUFFdkMsTUFBTSxDQUFDLE9BQU8sQ0FBQztzQ0FDTSxZQUFZOzs7SUFFakMsTUFBTSxDQUFDLGlCQUFpQixDQUFDO3NDQUNNLFlBQVk7OztJQUUzQyxNQUFNLENBQUMsV0FBVyxDQUFDO3NDQUNNLFlBQVk7OztJQUVyQyxNQUFNLENBQUMsY0FBYyxDQUFDO3NDQUNNLFlBQVk7OztJQUV4QyxNQUFNLENBQUMsUUFBUSxDQUFDO3NDQUNNLFlBQVk7OztJQUdsQyxNQUFNLENBQUMsY0FBYyxDQUFDO3NDQUNNLFlBQVk7OztJQUV4QyxNQUFNLENBQUMsUUFBUSxDQUFDO3NDQUNNLFlBQVk7OztJQUlsQyxNQUFNLENBQUMsYUFBYSxDQUFDO3NDQUNNLFlBQVk7OztJQUV2QyxNQUFNLENBQUMsT0FBTyxDQUFDO3NDQUNNLFlBQVk7OztJQUVqQyxNQUFNLENBQUMsWUFBWSxDQUFDO3NDQUNNLFlBQVk7OztJQUV0QyxNQUFNLENBQUMsTUFBTSxDQUFDO3NDQUNNLFlBQVk7OztJQUVoQyxNQUFNLENBQUMsWUFBWSxDQUFDO3NDQUNNLFlBQVk7OztJQUV0QyxNQUFNLENBQUMsTUFBTSxDQUFDO3NDQUNNLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgRWxlbWVudFJlZiwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPbkNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElIYXNEYXRhIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50L0lIYXNEYXRhJztcbmltcG9ydCB7IElIYXNIZWxwIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50L0lIYXNIZWxwJztcbmltcG9ydCB7IElEYXRhQ29tcGFyYXRvciB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudC9JRGF0YUNvbXBhcmF0b3InO1xuaW1wb3J0IHsgRGVmYXVsdFNlbGVjdEl0ZW1Nb2RlbCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudC9tb2RlbC9EZWZhdWx0U2VsZWN0SXRlbU1vZGVsJztcbmltcG9ydCB7IE5lZWRGb2N1c1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlL05lZWRGb2N1c1NlcnZpY2Uuc2VydmljZSc7XG5pbXBvcnQgeyBJMThOIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZGVjb3JhdG9yL0kxOE4uZGVjb3JhdG9yJztcbmltcG9ydCB7IE9wdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2RlY29yYXRvci9PcHRpb24uZGVjb3JhdG9yJztcbmltcG9ydCB7IEFic3RyYWN0U2VsZWN0T25lSXRlbSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudC9kYXRhdmlldy9pbnB1dC9BYnN0cmFjdFNlbGVjdE9uZUl0ZW0nO1xuaW1wb3J0IHsgVmFsaWRhdGlvblJlc3VsdCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudC9tb2RlbC9WYWxpZGF0aW9uUmVzdWx0JztcbmltcG9ydCB7IEJFRk9SRV9TSE9XX0VWRU5ULCBTSE9XX0VWRU5ULCBCRUZPUkVfSElERV9FVkVOVCwgSElERV9FVkVOVCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NoYXJlL0N1c3RvbUV2ZW50VHlwZSc7XG5pbXBvcnQgeyBFdmVudFV0aWxzIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2hhcmUvdXRpbHMvRXZlbnRVdGlscyc7XG5pbXBvcnQgeyBJU2VsZWN0SXRlbU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50L21vZGVsL0lTZWxlY3RJdGVtTW9kZWwnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmRlY2xhcmUgdmFyICQ6IGFueTtcblxuY29uc3QgVFlQRV9OQU1FOiBzdHJpbmcgPSBcIm1hdGVyaWFs