UNPKG

com.phloxui

Version:

PhloxUI Ng2+ Framework

1,031 lines (1,030 loc) 77.9 kB
/** * @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 { AbstractSelectItems } from '../../../../../component/dataview/input/AbstractSelectItems'; 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'; var /** @type {?} */ TYPE_NAME = "material-simple-multi-dropdown"; var /** @type {?} */ NORMAL = 'normal'; var /** @type {?} */ SUCCESS = 'success'; var /** @type {?} */ WARNING = 'warning'; var /** @type {?} */ ERROR = 'error'; var MaterialSimpleMultiDropdownList = /** @class */ (function (_super) { tslib_1.__extends(MaterialSimpleMultiDropdownList, _super); function MaterialSimpleMultiDropdownList(needFocusService, elementRef) { var _this = _super.call(this, elementRef, needFocusService) || this; _this.beforeShowEvent = new EventEmitter(); _this.showEvent = new EventEmitter(); _this.beforeHideEvent = new EventEmitter(); _this.hideEvent = new EventEmitter(); _this.formControl = new FormControl(); return _this; } /** * @return {?} */ MaterialSimpleMultiDropdownList.prototype.ngOnInit = /** * @return {?} */ function () { var _this = this; _super.prototype.ngOnInit.call(this); $(this.elementRef.nativeElement).find('mat-select.mat-select').focus(function ($event) { if (_this.isDisabled()) { return; } _this.render(); _this.onFocusing($event); }); $(this.elementRef.nativeElement).find('mat-select.mat-select').blur(function ($event) { _this.onLostFocusing($event); }); }; /** * @param {?} changes * @return {?} */ MaterialSimpleMultiDropdownList.prototype.ngOnChanges = /** * @param {?} changes * @return {?} */ function (changes) { this.render(); }; /** * @return {?} */ MaterialSimpleMultiDropdownList.prototype.render = /** * @return {?} */ function () { var /** @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 {?} */ MaterialSimpleMultiDropdownList.prototype.onClick = /** * @param {?} $event * @return {?} */ function ($event) { if (this.isReadOnly()) { this.onFocusing($event); $event.preventDefault(); return; } if (this.isDisabled()) { $event.preventDefault(); return; } this.render(); }; /** * @param {?} $event * @return {?} */ MaterialSimpleMultiDropdownList.prototype.onFocusing = /** * @param {?} $event * @return {?} */ function ($event) { this.needFocusService.setFocusingComponent(this, $event); }; /** * @param {?} $event * @return {?} */ MaterialSimpleMultiDropdownList.prototype.onLostFocusing = /** * @param {?} $event * @return {?} */ function ($event) { this.needFocusService.resetFocusingComponent($event); }; /** * @param {?} $event * @param {?=} fireEvent * @return {?} */ MaterialSimpleMultiDropdownList.prototype.onSelectionChange = /** * @param {?} $event * @param {?=} fireEvent * @return {?} */ function ($event, fireEvent) { var /** @type {?} */ values = $event.value; var /** @type {?} */ items = []; if (!Array.isArray(values)) { values = [values]; } for (var /** @type {?} */ i = 0; i < values.length; i++) { var /** @type {?} */ index = this.getItemIndexFromValue(values[i]); var /** @type {?} */ item = this.getItemAtIndex(index); if (item) { items.push(item); } } this.setSelectedItems(items, $event, fireEvent); }; // use for preventEvent of FormControl /** * @param {?} selectedItems * @param {?=} $event * @param {?=} fireEvent * @param {?=} fireChangeEvent * @return {?} */ MaterialSimpleMultiDropdownList.prototype.setSelectedItems = /** * @param {?} selectedItems * @param {?=} $event * @param {?=} fireEvent * @param {?=} fireChangeEvent * @return {?} */ function (selectedItems, $event, fireEvent, fireChangeEvent) { var _this = this; if (selectedItems === null || selectedItems === undefined || !Array.isArray(selectedItems)) { selectedItems = []; } if (fireEvent === null || fireEvent === undefined) { fireEvent = true; } var /** @type {?} */ sItems = []; var /** @type {?} */ newIndices = []; try { for (var selectedItems_1 = tslib_1.__values(selectedItems), selectedItems_1_1 = selectedItems_1.next(); !selectedItems_1_1.done; selectedItems_1_1 = selectedItems_1.next()) { var item = selectedItems_1_1.value; var /** @type {?} */ idx = this.getItemIndex(item); if (idx >= 0) { newIndices.push(idx); sItems.push(item); } } } catch (e_1_1) { e_1 = { error: e_1_1 }; } finally { try { if (selectedItems_1_1 && !selectedItems_1_1.done && (_a = selectedItems_1.return)) _a.call(selectedItems_1); } finally { if (e_1) throw e_1.error; } } // Only allow "item" which actually exists. selectedItems = sItems; var /** @type {?} */ oldIndex = this.getSelectedIndexes(); EventUtils.handleBrowserEvent(this, 'beforeSelectEvent', $event, fireEvent, function ($event) { // doEvent // doEvent _this._setSelectedItemsSaveData(selectedItems, true, $event, fireChangeEvent); }, function ($event) { // emitBeforeEvent // emitBeforeEvent _this.emitBeforeSelectEvent(oldIndex, newIndices, $event); }, function ($event, result) { // emitAfterEvent // emitAfterEvent _this.emitSelectEvent(oldIndex, newIndices, $event); }, function ($event) { // doPrevented // doPrevented _this.formControl.setValue(_this.getSelectedData()); }); var e_1, _a; }; /** * @param {?} $event * @param {?=} fireEvent * @return {?} */ MaterialSimpleMultiDropdownList.prototype.onOpenedChange = /** * @param {?} $event * @param {?=} fireEvent * @return {?} */ function ($event, fireEvent) { var _this = this; if (fireEvent === null || fireEvent === undefined) { fireEvent = true; } if ($event) { // show EventUtils.handleBrowserEvent(this, 'beforeShowEvent', $event, fireEvent, function ($event) { // doEvent }, function ($event) { // emitBeforeEvent // emitBeforeEvent _this.emitBeforeShowEvent($event); }, function ($event, result) { // emitAfterEvent // emitAfterEvent _this.emitShowEvent($event); }, function ($event) { // doPrevented }); } else { // hide EventUtils.handleBrowserEvent(this, 'beforeHideEvent', $event, fireEvent, function ($event) { // doEvent }, function ($event) { // emitBeforeEvent // emitBeforeEvent _this.emitBeforeHideEvent($event); }, function ($event, result) { // emitAfterEvent // emitAfterEvent _this.emitHideEvent($event); }, function ($event) { // doPrevented }); } this.render(); }; /** * @return {?} */ MaterialSimpleMultiDropdownList.prototype._getSelectedData = /** * @return {?} */ function () { return this.getSelectedData(); }; /** * @param {?=} $event * @return {?} */ MaterialSimpleMultiDropdownList.prototype.emitBeforeShowEvent = /** * @param {?=} $event * @return {?} */ function ($event) { var /** @type {?} */ data = null; var /** @type {?} */ ev = EventUtils.newCustomEvent(BEFORE_SHOW_EVENT, this, data, $event); this.beforeShowEvent.emit(ev); }; /** * @param {?=} $event * @return {?} */ MaterialSimpleMultiDropdownList.prototype.emitShowEvent = /** * @param {?=} $event * @return {?} */ function ($event) { var /** @type {?} */ data = null; var /** @type {?} */ ev = EventUtils.newCustomEvent(SHOW_EVENT, this, data, $event); this.showEvent.emit(ev); }; /** * @param {?=} $event * @return {?} */ MaterialSimpleMultiDropdownList.prototype.emitBeforeHideEvent = /** * @param {?=} $event * @return {?} */ function ($event) { var /** @type {?} */ data = null; var /** @type {?} */ ev = EventUtils.newCustomEvent(BEFORE_HIDE_EVENT, this, data, $event); this.beforeHideEvent.emit(ev); }; /** * @param {?=} $event * @return {?} */ MaterialSimpleMultiDropdownList.prototype.emitHideEvent = /** * @param {?=} $event * @return {?} */ function ($event) { var /** @type {?} */ data = null; var /** @type {?} */ ev = EventUtils.newCustomEvent(HIDE_EVENT, this, data, $event); this.hideEvent.emit(ev); }; /** * @return {?} */ MaterialSimpleMultiDropdownList.prototype._displayHelp = /** * @return {?} */ function () { var /** @type {?} */ hasHelp = this.hasHelp(); return hasHelp; }; /** * @return {?} */ MaterialSimpleMultiDropdownList.prototype.hasDescription = /** * @return {?} */ function () { if (this.description !== null && typeof this.description === 'string' && this.description !== '') { return true; } return false; }; /** * @return {?} */ MaterialSimpleMultiDropdownList.prototype.hasLabel = /** * @return {?} */ function () { if (this.label !== null && typeof this.label === 'string' && this.label !== '') { return true; } return false; }; /** * @return {?} */ MaterialSimpleMultiDropdownList.prototype.getDescription = /** * @return {?} */ function () { return this.description; }; /** * @param {?} description * @return {?} */ MaterialSimpleMultiDropdownList.prototype.setDescription = /** * @param {?} description * @return {?} */ function (description) { this.description = description; }; /** * @return {?} */ MaterialSimpleMultiDropdownList.prototype.getLabel = /** * @return {?} */ function () { return this.label; }; /** * @param {?} label * @return {?} */ MaterialSimpleMultiDropdownList.prototype.setLabel = /** * @param {?} label * @return {?} */ function (label) { this.label = label; }; /** * @return {?} */ MaterialSimpleMultiDropdownList.prototype.getResolveSelectedLabel = /** * @return {?} */ function () { if (this.selectedLabel === null || this.selectedLabel === undefined) { return this.selectedLabel; } if (typeof this.selectedLabel === 'function') { return this.selectedLabel.call(this, this.getSelectedItems()); } return this.selectedLabel; }; /** * @return {?} */ MaterialSimpleMultiDropdownList.prototype.getSelectedLabel = /** * @return {?} */ function () { return this.selectedLabel; }; /** * @param {?} selectedLabel * @return {?} */ MaterialSimpleMultiDropdownList.prototype.setSelectedLabel = /** * @param {?} selectedLabel * @return {?} */ function (selectedLabel) { this.selectedLabel = selectedLabel; }; /** * @return {?} */ MaterialSimpleMultiDropdownList.prototype.getAlign = /** * @return {?} */ function () { return this.align; }; /** * @param {?} align * @return {?} */ MaterialSimpleMultiDropdownList.prototype.setAlign = /** * @param {?} align * @return {?} */ function (align) { this.align = align; }; /** * @return {?} */ MaterialSimpleMultiDropdownList.prototype.getWidth = /** * @return {?} */ function () { return this.width; }; /** * @param {?} width * @return {?} */ MaterialSimpleMultiDropdownList.prototype.setWidth = /** * @param {?} width * @return {?} */ function (width) { this.width = width; }; /** * @return {?} */ MaterialSimpleMultiDropdownList.prototype.getHeight = /** * @return {?} */ function () { return this.height; }; /** * @param {?} height * @return {?} */ MaterialSimpleMultiDropdownList.prototype.setHeight = /** * @param {?} height * @return {?} */ function (height) { this.height = height; }; /** * @return {?} */ MaterialSimpleMultiDropdownList.prototype.getDropdownWidth = /** * @return {?} */ function () { return this.dropdownWidth; }; /** * @param {?} dropdownWidth * @return {?} */ MaterialSimpleMultiDropdownList.prototype.setDropdownWidth = /** * @param {?} dropdownWidth * @return {?} */ function (dropdownWidth) { this.dropdownWidth = dropdownWidth; this.render(); }; /** * @return {?} */ MaterialSimpleMultiDropdownList.prototype.getDropdownHeight = /** * @return {?} */ function () { return this.dropdownHeight; }; /** * @param {?} dropdownHeight * @return {?} */ MaterialSimpleMultiDropdownList.prototype.setDropdownHeight = /** * @param {?} dropdownHeight * @return {?} */ function (dropdownHeight) { this.dropdownHeight = dropdownHeight; this.render(); }; /** * @return {?} */ MaterialSimpleMultiDropdownList.prototype.isDisableRipple = /** * @return {?} */ function () { return this.disableRipple; }; /** * @param {?} disableRipple * @return {?} */ MaterialSimpleMultiDropdownList.prototype.setDisableRipple = /** * @param {?} disableRipple * @return {?} */ function (disableRipple) { this.disableRipple = disableRipple; }; /** * @param {?} $event * @return {?} */ MaterialSimpleMultiDropdownList.prototype.doFocus = /** * @param {?} $event * @return {?} */ function ($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 {?} */ MaterialSimpleMultiDropdownList.prototype.doLostFocus = /** * @param {?} $event * @return {?} */ function ($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 {?} */ MaterialSimpleMultiDropdownList.prototype.onDataChangePrevented = /** * @param {?} oldValue * @param {?} inputVal * @param {?=} data * @return {?} */ function (oldValue, inputVal, data) { this.formControl.setValue(oldValue); }; /** * @param {?} inputValue * @param {?} results * @return {?} */ MaterialSimpleMultiDropdownList.prototype.onValidationEnd = /** * @param {?} inputValue * @param {?} results * @return {?} */ function (inputValue, results) { }; /** * @param {?} data * @param {?} inputVal * @return {?} */ MaterialSimpleMultiDropdownList.prototype.onDataChange = /** * @param {?} data * @param {?} inputVal * @return {?} */ function (data, inputVal) { }; /** * @return {?} */ MaterialSimpleMultiDropdownList.prototype.getBeforeShowEvent = /** * @return {?} */ function () { return this.beforeShowEvent; }; /** * @param {?} event * @return {?} */ MaterialSimpleMultiDropdownList.prototype.setBeforeShowEvent = /** * @param {?} event * @return {?} */ function (event) { this.beforeShowEvent = event; }; /** * @return {?} */ MaterialSimpleMultiDropdownList.prototype.getShowEvent = /** * @return {?} */ function () { return this.showEvent; }; /** * @param {?} event * @return {?} */ MaterialSimpleMultiDropdownList.prototype.setShowEvent = /** * @param {?} event * @return {?} */ function (event) { this.showEvent = event; }; /** * @return {?} */ MaterialSimpleMultiDropdownList.prototype.getBeforeHideEvent = /** * @return {?} */ function () { return this.beforeHideEvent; }; /** * @param {?} event * @return {?} */ MaterialSimpleMultiDropdownList.prototype.setBeforeHideEvent = /** * @param {?} event * @return {?} */ function (event) { this.beforeHideEvent = event; }; /** * @return {?} */ MaterialSimpleMultiDropdownList.prototype.getHideEvent = /** * @return {?} */ function () { return this.hideEvent; }; /** * @param {?} event * @return {?} */ MaterialSimpleMultiDropdownList.prototype.setHideEvent = /** * @param {?} event * @return {?} */ function (event) { this.hideEvent = event; }; MaterialSimpleMultiDropdownList.TYPE_NAME = TYPE_NAME; MaterialSimpleMultiDropdownList.decorators = [ { type: Component, args: [{ moduleId: module.id, selector: TYPE_NAME, template: "<div class=\"material-simple-multi-dropdown\" [style.width]=\"getWidth()\" [class.readonly]=\"isReadOnly()\" [class.dirty]=\"isDataDirty()\" [ngClass]=\"'label-'+getAlign()\">\n\t<mat-form-field (click)=\"onClick($event)\">\n\t\t<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()\"\n\t\t [class.error]=\"isError() && !isDisabled()\" [multiple]=\"true\" [disableRipple]=\"isDisableRipple()\" (selectionChange)=\"onSelectionChange($event)\" (openedChange)=\"onOpenedChange($event)\" [value]=\"_getSelectedData()\">\n\t\t\t<mat-select-trigger *ngIf=\"getSelectedLabel() !== '' && getSelectedLabel() !== null && getSelectedLabel() !== undefined\" [style.text-align]=\"getAlign()\">\n\t\t\t\t<span class=\"select-trigger\" [style.text-align]=\"getAlign()\">\n\t\t\t\t\t{{getResolveSelectedLabel()}}\n\t\t\t\t</span>\n\t\t\t</mat-select-trigger>\n\t\t\t<ng-container *ngFor=\"let item of getItems()\">\n\t\t\t\t<mat-optgroup *ngIf=\"item.group\" [label]=\"item.group\" [style.width]=\"getDropdownWidth()\">\n\t\t\t\t</mat-optgroup>\n\t\t\t\t<mat-option *ngIf=\"!item.group\" [value]=\"item.value\" [style.text-align]=\"getAlign()\">\n\t\t\t\t\t{{item.label}}\n\t\t\t\t</mat-option>\n\t\t\t</ng-container>\n\t\t</mat-select>\n\t</mat-form-field>\n\t<div *ngIf=\"isReadOnly()\" class=\"readonly-panel\" (click)=\"onClick($event)\"></div>\n\t<div class=\"validation\" [style.display]=\"getValidationResultMessage() ? undefined : 'none'\" [class.normal]=\"isNormal() && !isDisabled()\" [class.success]=\"isSuccess() && !isDisabled()\" [class.warning]=\"isWarning() && !isDisabled()\" [class.error]=\"isError() && !isDisabled()\">\n\t\t<ng-template [ngIf]=\"getValidationResultMessage()\" [ngIfElse]=\"validation_else\">\n\t\t\t{{getValidationResultMessage() | phx_text}}\n\t\t</ng-template>\n\t\t<ng-template #validation_else>\n\t\t\t<!-- We've to put whitespace if there is no validation msg to prevent empty dom -->\n\t\t\t<!-- since if validate msg's <div> dom is empty, the component positioning -->\n\t\t\t<!-- will be misplaced. -->\n\t\t\t{{ '&nbsp;' }}\n\t\t</ng-template>\n\t</div>\n\t<div class=\"description\" [style.display]=\"getValidationResultMessage() ? 'none' : undefined\" [class.normal]=\"isNormal() && !isDisabled()\" [class.success]=\"isSuccess() && !isDisabled()\" [class.warning]=\"isWarning() && !isDisabled()\" [class.error]=\"isError() && !isDisabled()\">\n\t\t<ng-template [ngIf]=\"getDescription()\" [ngIfElse]=\"description_else\">\n\t\t\t{{ getDescription() | phx_text }}\n\t\t</ng-template>\n\t\t<ng-template #description_else>\n\t\t\t<!-- We've to put whitespace if there is no description to prevent empty dom -->\n\t\t\t<!-- since if description's <div> dom is empty, the component positioning -->\n\t\t\t<!-- will be misplaced. -->\n\t\t\t{{ '&nbsp;' }}\n\t\t</ng-template>\n\t</div>\n\t<div class=\"help\">\n\t\t{{getHelp() | phx_text}}\n\t</div>\n</div>\n", },] }, ]; /** @nocollapse */ MaterialSimpleMultiDropdownList.ctorParameters = function () { return [ { type: NeedFocusService, }, { type: ElementRef, }, ]; }; MaterialSimpleMultiDropdownList.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 },], "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',] },], "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) ], MaterialSimpleMultiDropdownList.prototype, "dataParent", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], MaterialSimpleMultiDropdownList.prototype, "ignoreParentData", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Object) ], MaterialSimpleMultiDropdownList.prototype, "data", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], MaterialSimpleMultiDropdownList.prototype, "ignoreParentDisabled", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], MaterialSimpleMultiDropdownList.prototype, "delegateHistory", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Function) ], MaterialSimpleMultiDropdownList.prototype, "onDisabled", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Function) ], MaterialSimpleMultiDropdownList.prototype, "onEnabled", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], MaterialSimpleMultiDropdownList.prototype, "loadingEnabled", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", String) ], MaterialSimpleMultiDropdownList.prototype, "i18nKey", void 0); tslib_1.__decorate([ Option('i18nBypass'), tslib_1.__metadata("design:type", Boolean) ], MaterialSimpleMultiDropdownList.prototype, "bypass", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], MaterialSimpleMultiDropdownList.prototype, "disabled", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", String) ], MaterialSimpleMultiDropdownList.prototype, "field", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", String) ], MaterialSimpleMultiDropdownList.prototype, "name", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", String) ], MaterialSimpleMultiDropdownList.prototype, "typeOfData", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], MaterialSimpleMultiDropdownList.prototype, "readOnly", void 0); tslib_1.__decorate([ I18N(), Option(), tslib_1.__metadata("design:type", Object) ], MaterialSimpleMultiDropdownList.prototype, "help", void 0); tslib_1.__decorate([ Option('comparator'), tslib_1.__metadata("design:type", Object) ], MaterialSimpleMultiDropdownList.prototype, "dataComparator", void 0); tslib_1.__decorate([ I18N(), Option(), tslib_1.__metadata("design:type", Array) ], MaterialSimpleMultiDropdownList.prototype, "items", void 0); tslib_1.__decorate([ I18N(), Option(), tslib_1.__metadata("design:type", String) ], MaterialSimpleMultiDropdownList.prototype, "description", void 0); tslib_1.__decorate([ I18N(), Option(), tslib_1.__metadata("design:type", String) ], MaterialSimpleMultiDropdownList.prototype, "label", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", String) ], MaterialSimpleMultiDropdownList.prototype, "align", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", String) ], MaterialSimpleMultiDropdownList.prototype, "width", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", String) ], MaterialSimpleMultiDropdownList.prototype, "height", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", String) ], MaterialSimpleMultiDropdownList.prototype, "dropdownWidth", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", String) ], MaterialSimpleMultiDropdownList.prototype, "dropdownHeight", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], MaterialSimpleMultiDropdownList.prototype, "disableRipple", void 0); tslib_1.__decorate([ I18N(), Option(), tslib_1.__metadata("design:type", Object) ], MaterialSimpleMultiDropdownList.prototype, "selectedLabel", void 0); tslib_1.__decorate([ Option('load'), tslib_1.__metadata("design:type", EventEmitter) ], MaterialSimpleMultiDropdownList.prototype, "loadEvent", void 0); tslib_1.__decorate([ Option('startValidate'), tslib_1.__metadata("design:type", EventEmitter) ], MaterialSimpleMultiDropdownList.prototype, "startValidateEvent", void 0); tslib_1.__decorate([ Option('endValidate'), tslib_1.__metadata("design:type", EventEmitter) ], MaterialSimpleMultiDropdownList.prototype, "endValidateEvent", void 0); tslib_1.__decorate([ Option('beforeFocus'), tslib_1.__metadata("design:type", EventEmitter) ], MaterialSimpleMultiDropdownList.prototype, "beforeFocusEvent", void 0); tslib_1.__decorate([ Option('focus'), tslib_1.__metadata("design:type", EventEmitter) ], MaterialSimpleMultiDropdownList.prototype, "focusEvent", void 0); tslib_1.__decorate([ Option('beforeLostFocus'), tslib_1.__metadata("design:type", EventEmitter) ], MaterialSimpleMultiDropdownList.prototype, "beforeLostFocusEvent", void 0); tslib_1.__decorate([ Option('lostFocus'), tslib_1.__metadata("design:type", EventEmitter) ], MaterialSimpleMultiDropdownList.prototype, "lostFocusEvent", void 0); tslib_1.__decorate([ Option('beforeChange'), tslib_1.__metadata("design:type", EventEmitter) ], MaterialSimpleMultiDropdownList.prototype, "beforeChangeEvent", void 0); tslib_1.__decorate([ Option('change'), tslib_1.__metadata("design:type", EventEmitter) ], MaterialSimpleMultiDropdownList.prototype, "changeEvent", void 0); tslib_1.__decorate([ Option('beforeSelect'), tslib_1.__metadata("design:type", EventEmitter) ], MaterialSimpleMultiDropdownList.prototype, "beforeSelectEvent", void 0); tslib_1.__decorate([ Option('select'), tslib_1.__metadata("design:type", EventEmitter) ], MaterialSimpleMultiDropdownList.prototype, "selectEvent", void 0); tslib_1.__decorate([ Option('beforeShow'), tslib_1.__metadata("design:type", EventEmitter) ], MaterialSimpleMultiDropdownList.prototype, "beforeShowEvent", void 0); tslib_1.__decorate([ Option('show'), tslib_1.__metadata("design:type", EventEmitter) ], MaterialSimpleMultiDropdownList.prototype, "showEvent", void 0); tslib_1.__decorate([ Option('beforeHide'), tslib_1.__metadata("design:type", EventEmitter) ], MaterialSimpleMultiDropdownList.prototype, "beforeHideEvent", void 0); tslib_1.__decorate([ Option('hide'), tslib_1.__metadata("design:type", EventEmitter) ], MaterialSimpleMultiDropdownList.prototype, "hideEvent", void 0); return MaterialSimpleMultiDropdownList; }(AbstractSelectItems)); export { MaterialSimpleMultiDropdownList }; function MaterialSimpleMultiDropdownList_tsickle_Closure_declarations() { /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */ MaterialSimpleMultiDropdownList.decorators; /** * @nocollapse * @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>} */ MaterialSimpleMultiDropdownList.ctorParameters; /** @type {!Object<string,!Array<{type: !Function, args: (undefined|!Array<?>)}>>} */ MaterialSimpleMultiDropdownList.propDecorators; /** @type {?} */ MaterialSimpleMultiDropdownList.TYPE_NAME; /** @type {?} */ MaterialSimpleMultiDropdownList.prototype.dataParent; /** @type {?} */ MaterialSimpleMultiDropdownList.prototype.ignoreParentData; /** @type {?} */ MaterialSimpleMultiDropdownList.prototype.data; /** @type {?} */ MaterialSimpleMultiDropdownList.prototype.ignoreParentDisabled; /** @type {?} */ MaterialSimpleMultiDropdownList.prototype.delegateHistory; /** @type {?} */ MaterialSimpleMultiDropdownList.prototype.onDisabled; /** @type {?} */ MaterialSimpleMultiDropdownList.prototype.onEnabled; /** @type {?} */ MaterialSimpleMultiDropdownList.prototype.loadingEnabled; /** @type {?} */ MaterialSimpleMultiDropdownList.prototype.i18nKey; /** @type {?} */ MaterialSimpleMultiDropdownList.prototype.bypass; /** @type {?} */ MaterialSimpleMultiDropdownList.prototype.options; /** @type {?} */ MaterialSimpleMultiDropdownList.prototype.disabled; /** @type {?} */ MaterialSimpleMultiDropdownList.prototype.field; /** @type {?} */ MaterialSimpleMultiDropdownList.prototype.name; /** @type {?} */ MaterialSimpleMultiDropdownList.prototype.typeOfData; /** @type {?} */ MaterialSimpleMultiDropdownList.prototype.readOnly; /** @type {?} */ MaterialSimpleMultiDropdownList.prototype.help; /** @type {?} */ MaterialSimpleMultiDropdownList.prototype.dataComparator; /** @type {?} */ MaterialSimpleMultiDropdownList.prototype.items; /** @type {?} */ MaterialSimpleMultiDropdownList.prototype.description; /** @type {?} */ MaterialSimpleMultiDropdownList.prototype.label; /** @type {?} */ MaterialSimpleMultiDropdownList.prototype.align; /** @type {?} */ MaterialSimpleMultiDropdownList.prototype.width; /** @type {?} */ MaterialSimpleMultiDropdownList.prototype.height; /** @type {?} */ MaterialSimpleMultiDropdownList.prototype.dropdownWidth; /** @type {?} */ MaterialSimpleMultiDropdownList.prototype.dropdownHeight; /** @type {?} */ MaterialSimpleMultiDropdownList.prototype.disableRipple; /** @type {?} */ MaterialSimpleMultiDropdownList.prototype.selectedLabel; /** @type {?} */ MaterialSimpleMultiDropdownList.prototype.formControl; /** @type {?} */ MaterialSimpleMultiDropdownList.prototype.loadEvent; /** @type {?} */ MaterialSimpleMultiDropdownList.prototype.startValidateEvent; /** @type {?} */ MaterialSimpleMultiDropdownList.prototype.endValidateEvent; /** @type {?} */ MaterialSimpleMultiDropdownList.prototype.beforeFocusEvent; /** @type {?} */ MaterialSimpleMultiDropdownList.prototype.focusEvent; /** @type {?} */ MaterialSimpleMultiDropdownList.prototype.beforeLostFocusEvent; /** @type {?} */ MaterialSimpleMultiDropdownList.prototype.lostFocusEvent; /** @type {?} */ MaterialSimpleMultiDropdownList.prototype.beforeChangeEvent; /** @type {?} */ MaterialSimpleMultiDropdownList.prototype.changeEvent; /** @type {?} */ MaterialSimpleMultiDropdownList.prototype.beforeSelectEvent; /** @type {?} */ MaterialSimpleMultiDropdownList.prototype.selectEvent; /** @type {?} */ MaterialSimpleMultiDropdownList.prototype.beforeShowEvent; /** @type {?} */ MaterialSimpleMultiDropdownList.prototype.showEvent; /** @type {?} */ MaterialSimpleMultiDropdownList.prototype.beforeHideEvent; /** @type {?} */ MaterialSimpleMultiDropdownList.prototype.hideEvent; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWF0ZXJpYWxTaW1wbGVNdWx0aURyb3Bkb3duTGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9jb20ucGhsb3h1aS8iLCJzb3VyY2VzIjpbImxpYi90aGVtZS9tYXRlcmlhbC9jb21wb25lbnQvZGF0YXZpZXcvaW5wdXQvTWF0ZXJpYWxTaW1wbGVNdWx0aURyb3Bkb3duTGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUt0RyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUNuRixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDL0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBRWxHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDcEgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRW5FLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUk3QyxxQkFBTSxTQUFTLEdBQVcsZ0NBQWdDLENBQUM7QUFFM0QscUJBQU0sTUFBTSxHQUFXLFFBQVEsQ0FBQztBQUNoQyxxQkFBTSxPQUFPLEdBQVcsU0FBUyxDQUFDO0FBQ2xDLHFCQUFNLE9BQU8sR0FBVyxTQUFTLENBQUM7QUFDbEMscUJBQU0sS0FBSyxHQUFXLE9BQU8sQ0FBQzs7SUFvRHVCLDJEQUFtQjtJQTJKdEUseUNBQVksZ0JBQWtDLEVBQUUsVUFBc0I7UUFBdEUsWUFDRSxrQkFBTSxVQUFVLEVBQUUsZ0JBQWdCLENBQUMsU0FN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