com.phloxui
Version:
PhloxUI Ng2+ Framework
1,142 lines (1,141 loc) • 84.4 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
import * as tslib_1 from "tslib";
import { Component, ElementRef, Input, Output, EventEmitter, Type } 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-component-multi-dropdown";
var MaterialComponentMultiDropdownList = /** @class */ (function (_super) {
tslib_1.__extends(MaterialComponentMultiDropdownList, _super);
function MaterialComponentMultiDropdownList(elementRef, needFocusService) {
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 {?}
*/
MaterialComponentMultiDropdownList.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()) {
$event.preventDefault();
return;
}
_this.render();
_this.onFocusing($event);
});
$(this.elementRef.nativeElement).find('mat-select.mat-select').blur(function ($event) {
_this.onLostFocusing($event);
});
if (this.defaultIdx !== null && this.defaultIdx !== undefined && (Array.isArray(this.defaultIdx))) {
this.setSelectedIndexes(this.defaultIdx);
}
};
/**
* @param {?} changes
* @return {?}
*/
MaterialComponentMultiDropdownList.prototype.ngOnChanges = /**
* @param {?} changes
* @return {?}
*/
function (changes) {
this.render();
};
/**
* @return {?}
*/
MaterialComponentMultiDropdownList.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 {?}
*/
MaterialComponentMultiDropdownList.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 {?}
*/
MaterialComponentMultiDropdownList.prototype.onFocusing = /**
* @param {?} $event
* @return {?}
*/
function ($event) {
this.needFocusService.setFocusingComponent(this, $event);
};
/**
* @param {?} $event
* @return {?}
*/
MaterialComponentMultiDropdownList.prototype.onLostFocusing = /**
* @param {?} $event
* @return {?}
*/
function ($event) {
this.needFocusService.resetFocusingComponent($event);
};
/**
* @param {?} $event
* @param {?=} fireEvent
* @return {?}
*/
MaterialComponentMultiDropdownList.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 {?}
*/
MaterialComponentMultiDropdownList.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 {?}
*/
MaterialComponentMultiDropdownList.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();
};
/**
* @param {?=} $event
* @return {?}
*/
MaterialComponentMultiDropdownList.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 {?}
*/
MaterialComponentMultiDropdownList.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 {?}
*/
MaterialComponentMultiDropdownList.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 {?}
*/
MaterialComponentMultiDropdownList.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 {?}
*/
MaterialComponentMultiDropdownList.prototype._displayHelp = /**
* @return {?}
*/
function () {
var /** @type {?} */ hasHelp = this.hasHelp();
return hasHelp;
};
/**
* @return {?}
*/
MaterialComponentMultiDropdownList.prototype._getSelectedData = /**
* @return {?}
*/
function () {
return this.getSelectedData();
};
/**
* @return {?}
*/
MaterialComponentMultiDropdownList.prototype.hasDescription = /**
* @return {?}
*/
function () {
if (this.description !== null && typeof this.description === 'string' && this.description !== '') {
return true;
}
return false;
};
/**
* @return {?}
*/
MaterialComponentMultiDropdownList.prototype.hasLabel = /**
* @return {?}
*/
function () {
if (this.label !== null && typeof this.label === 'string' && this.label !== '') {
return true;
}
return false;
};
/**
* @return {?}
*/
MaterialComponentMultiDropdownList.prototype.getDescription = /**
* @return {?}
*/
function () {
return this.description;
};
/**
* @param {?} description
* @return {?}
*/
MaterialComponentMultiDropdownList.prototype.setDescription = /**
* @param {?} description
* @return {?}
*/
function (description) {
this.description = description;
};
/**
* @return {?}
*/
MaterialComponentMultiDropdownList.prototype.getLabel = /**
* @return {?}
*/
function () {
return this.label;
};
/**
* @param {?} label
* @return {?}
*/
MaterialComponentMultiDropdownList.prototype.setLabel = /**
* @param {?} label
* @return {?}
*/
function (label) {
this.label = label;
};
/**
* @return {?}
*/
MaterialComponentMultiDropdownList.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 {?}
*/
MaterialComponentMultiDropdownList.prototype.getSelectedLabel = /**
* @return {?}
*/
function () {
return this.selectedLabel;
};
/**
* @param {?} selectedLabel
* @return {?}
*/
MaterialComponentMultiDropdownList.prototype.setSelectedLabel = /**
* @param {?} selectedLabel
* @return {?}
*/
function (selectedLabel) {
this.selectedLabel = selectedLabel;
};
/**
* @return {?}
*/
MaterialComponentMultiDropdownList.prototype.getAlign = /**
* @return {?}
*/
function () {
return this.align;
};
/**
* @param {?} align
* @return {?}
*/
MaterialComponentMultiDropdownList.prototype.setAlign = /**
* @param {?} align
* @return {?}
*/
function (align) {
this.align = align;
};
/**
* @return {?}
*/
MaterialComponentMultiDropdownList.prototype.getWidth = /**
* @return {?}
*/
function () {
return this.width;
};
/**
* @param {?} width
* @return {?}
*/
MaterialComponentMultiDropdownList.prototype.setWidth = /**
* @param {?} width
* @return {?}
*/
function (width) {
this.width = width;
};
/**
* @return {?}
*/
MaterialComponentMultiDropdownList.prototype.getHeight = /**
* @return {?}
*/
function () {
return this.height;
};
/**
* @param {?} height
* @return {?}
*/
MaterialComponentMultiDropdownList.prototype.setHeight = /**
* @param {?} height
* @return {?}
*/
function (height) {
this.height = height;
};
/**
* @return {?}
*/
MaterialComponentMultiDropdownList.prototype.getDropdownWidth = /**
* @return {?}
*/
function () {
return this.dropdownWidth;
};
/**
* @param {?} dropdownWidth
* @return {?}
*/
MaterialComponentMultiDropdownList.prototype.setDropdownWidth = /**
* @param {?} dropdownWidth
* @return {?}
*/
function (dropdownWidth) {
this.dropdownWidth = dropdownWidth;
this.render();
};
/**
* @return {?}
*/
MaterialComponentMultiDropdownList.prototype.getDropdownHeight = /**
* @return {?}
*/
function () {
return this.dropdownHeight;
};
/**
* @param {?} dropdownHeight
* @return {?}
*/
MaterialComponentMultiDropdownList.prototype.setDropdownHeight = /**
* @param {?} dropdownHeight
* @return {?}
*/
function (dropdownHeight) {
this.dropdownHeight = dropdownHeight;
this.render();
};
/**
* @return {?}
*/
MaterialComponentMultiDropdownList.prototype.isDisableRipple = /**
* @return {?}
*/
function () {
return this.disableRipple;
};
/**
* @param {?} disableRipple
* @return {?}
*/
MaterialComponentMultiDropdownList.prototype.setDisableRipple = /**
* @param {?} disableRipple
* @return {?}
*/
function (disableRipple) {
this.disableRipple = disableRipple;
};
// Override
/**
* @param {?} $event
* @return {?}
*/
MaterialComponentMultiDropdownList.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();
}
};
// Override
/**
* @param {?} $event
* @return {?}
*/
MaterialComponentMultiDropdownList.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 {?}
*/
MaterialComponentMultiDropdownList.prototype.onDataChangePrevented = /**
* @param {?} oldValue
* @param {?} inputVal
* @param {?=} data
* @return {?}
*/
function (oldValue, inputVal, data) {
this.formControl.setValue(oldValue);
};
/**
* @param {?} inputValue
* @param {?} results
* @return {?}
*/
MaterialComponentMultiDropdownList.prototype.onValidationEnd = /**
* @param {?} inputValue
* @param {?} results
* @return {?}
*/
function (inputValue, results) {
};
/**
* @param {?} data
* @param {?} inputVal
* @return {?}
*/
MaterialComponentMultiDropdownList.prototype.onDataChange = /**
* @param {?} data
* @param {?} inputVal
* @return {?}
*/
function (data, inputVal) {
};
/**
* @return {?}
*/
MaterialComponentMultiDropdownList.prototype.getComponentType = /**
* @return {?}
*/
function () {
return this.componentType;
};
/**
* @param {?} type
* @return {?}
*/
MaterialComponentMultiDropdownList.prototype.setComponentType = /**
* @param {?} type
* @return {?}
*/
function (type) {
this.componentType = type;
};
/**
* @return {?}
*/
MaterialComponentMultiDropdownList.prototype.getComponentModel = /**
* @return {?}
*/
function () {
return this.componentModel;
};
/**
* @param {?} model
* @return {?}
*/
MaterialComponentMultiDropdownList.prototype.setComponentModel = /**
* @param {?} model
* @return {?}
*/
function (model) {
this.componentModel = model;
};
/**
* @return {?}
*/
MaterialComponentMultiDropdownList.prototype.getComponentHandler = /**
* @return {?}
*/
function () {
return this.componentHandler;
};
/**
* @param {?} handler
* @return {?}
*/
MaterialComponentMultiDropdownList.prototype.setComponentHandler = /**
* @param {?} handler
* @return {?}
*/
function (handler) {
this.componentHandler = handler;
};
/**
* @return {?}
*/
MaterialComponentMultiDropdownList.prototype.getDefaultIdx = /**
* @return {?}
*/
function () {
return this.defaultIdx;
};
/**
* @param {?} defaultIdx
* @return {?}
*/
MaterialComponentMultiDropdownList.prototype.setDefaultIdx = /**
* @param {?} defaultIdx
* @return {?}
*/
function (defaultIdx) {
this.defaultIdx = defaultIdx;
};
/**
* @return {?}
*/
MaterialComponentMultiDropdownList.prototype.getBeforeShowEvent = /**
* @return {?}
*/
function () {
return this.beforeShowEvent;
};
/**
* @param {?} event
* @return {?}
*/
MaterialComponentMultiDropdownList.prototype.setBeforeShowEvent = /**
* @param {?} event
* @return {?}
*/
function (event) {
this.beforeShowEvent = event;
};
/**
* @return {?}
*/
MaterialComponentMultiDropdownList.prototype.getShowEvent = /**
* @return {?}
*/
function () {
return this.showEvent;
};
/**
* @param {?} event
* @return {?}
*/
MaterialComponentMultiDropdownList.prototype.setShowEvent = /**
* @param {?} event
* @return {?}
*/
function (event) {
this.showEvent = event;
};
/**
* @return {?}
*/
MaterialComponentMultiDropdownList.prototype.getBeforeHideEvent = /**
* @return {?}
*/
function () {
return this.beforeHideEvent;
};
/**
* @param {?} event
* @return {?}
*/
MaterialComponentMultiDropdownList.prototype.setBeforeHideEvent = /**
* @param {?} event
* @return {?}
*/
function (event) {
this.beforeHideEvent = event;
};
/**
* @return {?}
*/
MaterialComponentMultiDropdownList.prototype.getHideEvent = /**
* @return {?}
*/
function () {
return this.hideEvent;
};
/**
* @param {?} event
* @return {?}
*/
MaterialComponentMultiDropdownList.prototype.setHideEvent = /**
* @param {?} event
* @return {?}
*/
function (event) {
this.hideEvent = event;
};
MaterialComponentMultiDropdownList.TYPE_NAME = TYPE_NAME;
MaterialComponentMultiDropdownList.decorators = [
{ type: Component, args: [{
moduleId: module.id,
selector: TYPE_NAME,
template: "<div class=\"material-component-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 #matSelect [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\">\n\t\t\t\t<span class=\"select-trigger\" [style.text-align]=\"getAlign()\">\n \t{{getResolveSelectedLabel()}}\n \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<phx-component-wrapper [type]=\"getComponentType()\" [model]=\"getComponentModel()\" [handler]=\"getComponentHandler()\" [data]=\"item\"></phx-component-wrapper>\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{{ ' ' }}\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{{ ' ' }}\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 */
MaterialComponentMultiDropdownList.ctorParameters = function () { return [
{ type: ElementRef, },
{ type: NeedFocusService, },
]; };
MaterialComponentMultiDropdownList.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 },],
"defaultIdx": [{ type: Input },],
"componentType": [{ type: Input, args: ['type',] },],
"componentModel": [{ type: Input, args: ['model',] },],
"componentHandler": [{ type: Input, args: ['handler',] },],
"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)
], MaterialComponentMultiDropdownList.prototype, "dataParent", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], MaterialComponentMultiDropdownList.prototype, "ignoreParentData", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Object)
], MaterialComponentMultiDropdownList.prototype, "data", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], MaterialComponentMultiDropdownList.prototype, "ignoreParentDisabled", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], MaterialComponentMultiDropdownList.prototype, "delegateHistory", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Function)
], MaterialComponentMultiDropdownList.prototype, "onDisabled", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Function)
], MaterialComponentMultiDropdownList.prototype, "onEnabled", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], MaterialComponentMultiDropdownList.prototype, "loadingEnabled", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", String)
], MaterialComponentMultiDropdownList.prototype, "i18nKey", void 0);
tslib_1.__decorate([
Option('i18nBypass'),
tslib_1.__metadata("design:type", Boolean)
], MaterialComponentMultiDropdownList.prototype, "bypass", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], MaterialComponentMultiDropdownList.prototype, "disabled", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", String)
], MaterialComponentMultiDropdownList.prototype, "field", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", String)
], MaterialComponentMultiDropdownList.prototype, "name", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", String)
], MaterialComponentMultiDropdownList.prototype, "typeOfData", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], MaterialComponentMultiDropdownList.prototype, "readOnly", void 0);
tslib_1.__decorate([
I18N(),
Option(),
tslib_1.__metadata("design:type", Object)
], MaterialComponentMultiDropdownList.prototype, "help", void 0);
tslib_1.__decorate([
Option('comparator'),
tslib_1.__metadata("design:type", Object)
], MaterialComponentMultiDropdownList.prototype, "dataComparator", void 0);
tslib_1.__decorate([
I18N(),
Option(),
tslib_1.__metadata("design:type", Array)
], MaterialComponentMultiDropdownList.prototype, "items", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Array)
], MaterialComponentMultiDropdownList.prototype, "defaultIdx", void 0);
tslib_1.__decorate([
Option('type'),
tslib_1.__metadata("design:type", Type)
], MaterialComponentMultiDropdownList.prototype, "componentType", void 0);
tslib_1.__decorate([
I18N('model'),
Option('model'),
tslib_1.__metadata("design:type", Object)
], MaterialComponentMultiDropdownList.prototype, "componentModel", void 0);
tslib_1.__decorate([
Option('handler'),
tslib_1.__metadata("design:type", Function)
], MaterialComponentMultiDropdownList.prototype, "componentHandler", void 0);
tslib_1.__decorate([
I18N(),
Option(),
tslib_1.__metadata("design:type", String)
], MaterialComponentMultiDropdownList.prototype, "description", void 0);
tslib_1.__decorate([
I18N(),
Option(),
tslib_1.__metadata("design:type", String)
], MaterialComponentMultiDropdownList.prototype, "label", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", String)
], MaterialComponentMultiDropdownList.prototype, "align", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", String)
], MaterialComponentMultiDropdownList.prototype, "width", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", String)
], MaterialComponentMultiDropdownList.prototype, "height", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", String)
], MaterialComponentMultiDropdownList.prototype, "dropdownWidth", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", String)
], MaterialComponentMultiDropdownList.prototype, "dropdownHeight", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], MaterialComponentMultiDropdownList.prototype, "disableRipple", void 0);
tslib_1.__decorate([
I18N(),
Option(),
tslib_1.__metadata("design:type", Object)
], MaterialComponentMultiDropdownList.prototype, "selectedLabel", void 0);
tslib_1.__decorate([
Option('load'),
tslib_1.__metadata("design:type", EventEmitter)
], MaterialComponentMultiDropdownList.prototype, "loadEvent", void 0);
tslib_1.__decorate([
Option('startValidate'),
tslib_1.__metadata("design:type", EventEmitter)
], MaterialComponentMultiDropdownList.prototype, "startValidateEvent", void 0);
tslib_1.__decorate([
Option('endValidate'),
tslib_1.__metadata("design:type", EventEmitter)
], MaterialComponentMultiDropdownList.prototype, "endValidateEvent", void 0);
tslib_1.__decorate([
Option('beforeFocus'),
tslib_1.__metadata("design:type", EventEmitter)
], MaterialComponentMultiDropdownList.prototype, "beforeFocusEvent", void 0);
tslib_1.__decorate([
Option('focus'),
tslib_1.__metadata("design:type", EventEmitter)
], MaterialComponentMultiDropdownList.prototype, "focusEvent", void 0);
tslib_1.__decorate([
Option('beforeLostFocus'),
tslib_1.__metadata("design:type", EventEmitter)
], MaterialComponentMultiDropdownList.prototype, "beforeLostFocusEvent", void 0);
tslib_1.__decorate([
Option('lostFocus'),
tslib_1.__metadata("design:type", EventEmitter)
], MaterialComponentMultiDropdownList.prototype, "lostFocusEvent", void 0);
tslib_1.__decorate([
Option('beforeChange'),
tslib_1.__metadata("design:type", EventEmitter)
], MaterialComponentMultiDropdownList.prototype, "beforeChangeEvent", void 0);
tslib_1.__decorate([
Option('change'),
tslib_1.__metadata("design:type", EventEmitter)
], MaterialComponentMultiDropdownList.prototype, "changeEvent", void 0);
tslib_1.__decorate([
Option('beforeSelect'),
tslib_1.__metadata("design:type", EventEmitter)
], MaterialComponentMultiDropdownList.prototype, "beforeSelectEvent", void 0);
tslib_1.__decorate([
Option('select'),
tslib_1.__metadata("design:type", EventEmitter)
], MaterialComponentMultiDropdownList.prototype, "selectEvent", void 0);
tslib_1.__decorate([
Option('beforeShow'),
tslib_1.__metadata("design:type", EventEmitter)
], MaterialComponentMultiDropdownList.prototype, "beforeShowEvent", void 0);
tslib_1.__decorate([
Option('show'),
tslib_1.__metadata("design:type", EventEmitter)
], MaterialComponentMultiDropdownList.prototype, "showEvent", void 0);
tslib_1.__decorate([
Option('beforeHide'),
tslib_1.__metadata("design:type", EventEmitter)
], MaterialComponentMultiDropdownList.prototype, "beforeHideEvent", void 0);
tslib_1.__decorate([
Option('hide'),
tslib_1.__metadata("design:type", EventEmitter)
], MaterialComponentMultiDropdownList.prototype, "hideEvent", void 0);
return MaterialComponentMultiDropdownList;
}(AbstractSelectItems));
export { MaterialComponentMultiDropdownList };
function MaterialComponentMultiDropdownList_tsickle_Closure_declarations() {
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
MaterialComponentMultiDropdownList.decorators;
/**
* @nocollapse
* @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>}
*/
MaterialComponentMultiDropdownList.ctorParameters;
/** @type {!Object<string,!Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
MaterialComponentMultiDropdownList.propDecorators;
/** @type {?} */
MaterialComponentMultiDropdownList.TYPE_NAME;
/** @type {?} */
MaterialComponentMultiDropdownList.prototype.dataParent;
/** @type {?} */
MaterialComponentMultiDropdownList.prototype.ignoreParentData;
/** @type {?} */
MaterialComponentMultiDropdownList.prototype.data;
/** @type {?} */
MaterialComponentMultiDropdownList.prototype.ignoreParentDisabled;
/** @type {?} */
MaterialComponentMultiDropdownList.prototype.delegateHistory;
/** @type {?} */
MaterialComponentMultiDropdownList.prototype.onDisabled;
/** @type {?} */
MaterialComponentMultiDropdownList.prototype.onEnabled;
/** @type {?} */
MaterialComponentMultiDropdownList.prototype.loadingEnabled;
/** @type {?} */
MaterialComponentMultiDropdownList.prototype.i18nKey;
/** @type {?} */
MaterialComponentMultiDropdownList.prototype.bypass;
/** @type {?} */
MaterialComponentMultiDropdownList.prototype.options;
/** @type {?} */
MaterialComponentMultiDropdownList.prototype.disabled;
/** @type {?} */
MaterialComponentMultiDropdownList.prototype.field;
/** @type {?} */
MaterialComponentMultiDropdownList.prototype.name;
/** @type {?} */
MaterialComponentMultiDropdownList.prototype.typeOfData;
/** @type {?} */
MaterialComponentMultiDropdownList.prototype.readOnly;
/** @type {?} */
MaterialComponentMultiDropdownList.prototype.help;
/** @type {?} */
MaterialComponentMultiDropdownList.prototype.dataComparator;
/** @type {?} */
MaterialComponentMultiDropdownList.prototype.items;
/** @type {?} */
MaterialComponentMultiDropdownList.prototype.defaultIdx;
/** @type {?} */
MaterialComponentMultiDropdownList.prototype.componentType;
/** @type {?} */
MaterialComponentMultiDropdownList.prototype.componentModel;
/** @type {?} */
MaterialComponentMultiDropdownList.prototype.componentHandler;
/** @type {?} */
MaterialComponentMultiDropdownList.prototype.description;
/** @type {?} */
MaterialComponentMultiDropdownList.prototype.label;
/** @type {?} */
MaterialComponentMultiDropdownList.prototype.align;
/** @type {?} */
MaterialComponentMultiDropdownList.prototype.width;
/** @type {?} */
MaterialComponentMultiDropdownList.prototype.height;
/** @type {?} */
MaterialComponentMultiDropdownList.prototype.dropdownWidth;
/** @type {?} */
MaterialComponentMultiDropdownList.prototype.dropdownHeight;
/** @type {?} */
MaterialComponentMultiDropdownList.prototype.disableRipple;
/** @type {?} */
MaterialComponentMultiDropdownList.prototype.selectedLabel;
/** @type {?} */
MaterialComponentMultiDropdownList.prototype.formControl;
/** @type {?} */
MaterialComponentMultiDropdownList.prototype.loadEvent;
/** @type {?} */
MaterialComponentMultiDropdownList.prototype.startValidateEvent;
/** @type {?} */
MaterialComponentMultiDropdownList.prototype.endValidateEvent;
/** @type {?} */
MaterialComponentMultiDropdownList.prototype.beforeFocusEvent;
/** @type {?} */
MaterialComponentMultiDropdownList.prototype.focusEvent;
/** @type {?} */
MaterialComponentMultiDropdownList.prototype.beforeLostFocusEvent;
/** @type {?} */
MaterialComponentMultiDropdownList.prototype.lostFocusEvent;
/** @type {?} */
MaterialComponentMultiDropdownList.prototype.beforeChangeEvent;
/** @type {?} */
MaterialComponentMultiDropdownList.prototype.changeEvent;
/** @type {?} */
MaterialComponentMultiDropdownList.prototype.beforeSelectEvent;
/** @type {?} */
MaterialComponentMultiDropdownList.prototype.selectEvent;
/** @type {?} */
MaterialComponentMultiDropdownList.prototype.beforeShowEvent;
/** @type {?} */
MaterialComponentMultiDropdownList.prototype.showEvent;
/** @type {?} */
MaterialComponentMultiDropdownList.prototype.beforeHideEvent;
/** @type {?} */
MaterialComponentMultiDropdownList.prototype.hideEvent;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWF0ZXJpYWxDb21wb25lbnRNdWx0aURyb3Bkb3duTGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9jb20ucGhsb3h1aS8iLCJzb3VyY2VzIjpbImxpYi90aGVtZS9tYXRlcmlhbC9jb21wb25lbnQvZGF0YXZpZXcvaW5wdXQvTWF0ZXJpYWxDb21wb25lbnRNdWx0aURyb3Bkb3duTGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJakcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDbkYsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUVsRyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3BILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUVuRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFLN0MscUJBQU0sU0FBUyxHQUFXLG1DQUFtQyxDQUFDOztJQW9ETiw4REFBbUI7SUF3S3pFLDRDQUFZLFVBQXNCLEVBQUUsZ0JBQWtDO1FBQXRFLFlBQ0Usa0JBQU0sVUFBVSxFQUFFLGdCQUFnQixDQUFDLFNBT3BDO1FBTEMsS0FBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzFDLEtBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNwQyxLQUFJLENBQUMsZUFB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