UNPKG

com.phloxui

Version:

PhloxUI Ng2+ Framework

839 lines (838 loc) 68 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ import * as tslib_1 from "tslib"; import { Component, ElementRef, Input, Output, ViewChild, EventEmitter } from '@angular/core'; import { I18N } from '../../../../../decorator/I18N.decorator'; import { Option } from '../../../../../decorator/Option.decorator'; import { AbstractSelectItems } from '../../../../../component/dataview/input/AbstractSelectItems'; import { NeedFocusService } from '../../../../../service/NeedFocusService.service'; import { EventUtils } from '../../../../../share/utils/EventUtils'; import { CLICK_EVENT, BEFORE_CLICK_EVENT } from '../../../../../share/CustomEventType'; import { FormControl } from '@angular/forms'; import { MatButtonToggle } from '@angular/material'; var /** @type {?} */ TYPE_NAME = "material-toggle-select-items"; var MaterialToggleSelectItems = /** @class */ (function (_super) { tslib_1.__extends(MaterialToggleSelectItems, _super); function MaterialToggleSelectItems(elementRef, needFocusService) { var _this = _super.call(this, elementRef, needFocusService) || this; _this.beforeClickEvent = new EventEmitter(); _this.clickEvent = new EventEmitter(); _this.beforeFocusEvent = new EventEmitter(); _this.focusEvent = new EventEmitter(); _this.beforeLostFocusEvent = new EventEmitter(); _this.lostFocusEvent = new EventEmitter(); _this.selectEvent = new EventEmitter(); _this.beforeSelectEvent = new EventEmitter(); _this.formControl = new FormControl(); _this.formControl2 = new FormControl(); _this.multiple = false; _this._uniqueId = _this.randomName(); return _this; } /** * @param {?} changes * @return {?} */ MaterialToggleSelectItems.prototype.ngOnChanges = /** * @param {?} changes * @return {?} */ function (changes) { var _this = this; setTimeout(function () { _this.initEventHandlers(); }, 20); }; /** * @param {?} $event * @param {?} index * @return {?} */ MaterialToggleSelectItems.prototype.setSelectedItem = /** * @param {?} $event * @param {?} index * @return {?} */ function ($event, index) { var /** @type {?} */ oldIndexes = this.getSelectedIndexes(); var /** @type {?} */ item = this.getItemAtIndex(index[0]); var /** @type {?} */ oldDatas = []; var /** @type {?} */ newDatas = []; if (oldIndexes !== null && oldIndexes !== undefined && this.multiple) { try { for (var oldIndexes_1 = tslib_1.__values(oldIndexes), oldIndexes_1_1 = oldIndexes_1.next(); !oldIndexes_1_1.done; oldIndexes_1_1 = oldIndexes_1.next()) { var oldIndex = oldIndexes_1_1.value; oldDatas.push(this.getItemAtIndex(oldIndex)); newDatas.push(this.getItemAtIndex(oldIndex)); } } catch (e_1_1) { e_1 = { error: e_1_1 }; } finally { try { if (oldIndexes_1_1 && !oldIndexes_1_1.done && (_a = oldIndexes_1.return)) _a.call(oldIndexes_1); } finally { if (e_1) throw e_1.error; } } } if (oldDatas.indexOf(item) === -1) { newDatas.push(item); } else { newDatas.splice(oldDatas.indexOf(item), 1); } this.setSelectedItems(newDatas); var e_1, _a; }; /** * @param {?} selectedItems * @param {?=} $event * @param {?=} fireEvent * @param {?=} fireChangeEvent * @return {?} */ MaterialToggleSelectItems.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_2_1) { e_2 = { error: e_2_1 }; } finally { try { if (selectedItems_1_1 && !selectedItems_1_1.done && (_a = selectedItems_1.return)) _a.call(selectedItems_1); } finally { if (e_2) throw e_2.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 if (_this.multiple === false) { $(_this.elementRef.nativeElement).find('mat-button-toggle-group.mat-button-toggle-group.' + _this._uniqueId + ' > mat-button-toggle').removeClass('mat-button-toggle-checked'); } _this.emitBeforeSelectEvent(oldIndex, newIndices, $event); }, function ($event, result) { // emitAfterEvent if (_this.multiple === false) { $(_this.elementRef.nativeElement).find('mat-button-toggle-group.mat-button-toggle-group.' + _this._uniqueId + '> mat-button-toggle.item-' + +newIndices[0]).addClass('mat-button-toggle-checked'); } _this.emitSelectEvent(oldIndex, newIndices, $event); }, function ($event) { // doPrevented if (_this.multiple === false) { $(_this.elementRef.nativeElement).find('mat-button-toggle-group.mat-button-toggle-group.' + _this._uniqueId + '> mat-button-toggle.item-' + oldIndex[0]).addClass('mat-button-toggle-checked'); } _this.formControl.setValue(_this.getSelectedData()); }); var e_2, _a; }; /** * @return {?} */ MaterialToggleSelectItems.prototype.getItems = /** * @return {?} */ function () { return this.items; }; /** * @return {?} */ MaterialToggleSelectItems.prototype.isDisableRipple = /** * @return {?} */ function () { return this.disableRipple; }; /** * @param {?} disableRipple * @return {?} */ MaterialToggleSelectItems.prototype.setDisableRipple = /** * @param {?} disableRipple * @return {?} */ function (disableRipple) { this.disableRipple = disableRipple; }; /** * @return {?} */ MaterialToggleSelectItems.prototype.getDescription = /** * @return {?} */ function () { return this.description; }; /** * @param {?} description * @return {?} */ MaterialToggleSelectItems.prototype.setDescription = /** * @param {?} description * @return {?} */ function (description) { this.description = description; }; /** * @return {?} */ MaterialToggleSelectItems.prototype.hasDescription = /** * @return {?} */ function () { if (this.description !== null && typeof this.description === 'string' && this.description !== '') { return true; } return false; }; /** * @return {?} */ MaterialToggleSelectItems.prototype.randomName = /** * @return {?} */ function () { var /** @type {?} */ text = ""; var /** @type {?} */ possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; for (var /** @type {?} */ i = 0; i < 8; i++) { text += possible.charAt(Math.floor(Math.random() * possible.length)); } this._uniqueId = text + '-single'; return this._uniqueId; }; /** * @return {?} */ MaterialToggleSelectItems.prototype.isMultiple = /** * @return {?} */ function () { return this.multiple; }; /** * @param {?} multiple * @return {?} */ MaterialToggleSelectItems.prototype.setMultiple = /** * @param {?} multiple * @return {?} */ function (multiple) { this.multiple = multiple; }; /** * @return {?} */ MaterialToggleSelectItems.prototype.toggle = /** * @return {?} */ function () { this.multiple = !this.multiple; }; /** * @return {?} */ MaterialToggleSelectItems.prototype.isDisabledRipple = /** * @return {?} */ function () { return this.disableRipple; }; /** * @param {?} disableRipple * @return {?} */ MaterialToggleSelectItems.prototype.setDisabledRipple = /** * @param {?} disableRipple * @return {?} */ function (disableRipple) { this.disableRipple = disableRipple; }; /** * @return {?} */ MaterialToggleSelectItems.prototype.isVertical = /** * @return {?} */ function () { return this.vertical; }; /** * @param {?} vertical * @return {?} */ MaterialToggleSelectItems.prototype.setVertical = /** * @param {?} vertical * @return {?} */ function (vertical) { this.vertical = vertical; }; /** * @return {?} */ MaterialToggleSelectItems.prototype.isChecked = /** * @return {?} */ function () { return this.checked; }; /** * @param {?} checked * @return {?} */ MaterialToggleSelectItems.prototype.setChecked = /** * @param {?} checked * @return {?} */ function (checked) { this.checked = checked; }; /** * @param {?} $event * @return {?} */ MaterialToggleSelectItems.prototype.onFocusing = /** * @param {?} $event * @return {?} */ function ($event) { this.needFocusService.setFocusingComponent(this, $event); }; /** * @param {?} $event * @return {?} */ MaterialToggleSelectItems.prototype.onLostFocusing = /** * @param {?} $event * @return {?} */ function ($event) { this.needFocusService.resetFocusingComponent($event); }; /** * @return {?} */ MaterialToggleSelectItems.prototype.initEventHandlers = /** * @return {?} */ function () { var _this = this; $(this.elementRef.nativeElement).find('button.mat-button-toggle-button').focus(function ($event) { _this.onFocusing($event); }); $(this.elementRef.nativeElement).find('button.mat-button-toggle-button').blur(function ($event) { _this.onLostFocusing($event); }); }; /** * @param {?} index * @param {?=} $event * @return {?} */ MaterialToggleSelectItems.prototype.emitBeforeClickEvent = /** * @param {?} index * @param {?=} $event * @return {?} */ function (index, $event) { var /** @type {?} */ eventData = { item: this.getItemAtIndex(index), index: index }; // emit event var /** @type {?} */ data = eventData; var /** @type {?} */ ev = EventUtils.newCustomEvent(BEFORE_CLICK_EVENT, this, data, $event); if (this.beforeClickEvent !== null && this.beforeClickEvent !== undefined) { this.beforeClickEvent.emit(ev); } }; /** * @param {?} index * @param {?=} $event * @return {?} */ MaterialToggleSelectItems.prototype.emitClickEvent = /** * @param {?} index * @param {?=} $event * @return {?} */ function (index, $event) { var /** @type {?} */ eventData = { item: this.getItemAtIndex(index), index: index }; // emit event var /** @type {?} */ data = eventData; var /** @type {?} */ ev = EventUtils.newCustomEvent(CLICK_EVENT, this, data, $event); if (this.clickEvent !== null && this.clickEvent !== undefined) { this.clickEvent.emit(ev); } }; /** * @param {?} $event * @param {?} index * @param {?=} fireEvent * @return {?} */ MaterialToggleSelectItems.prototype.onClick = /** * @param {?} $event * @param {?} index * @param {?=} fireEvent * @return {?} */ function ($event, index, fireEvent) { var _this = this; if (fireEvent === null || fireEvent === undefined) { fireEvent = true; } $event.preventDefault(); EventUtils.handleBrowserEvent(this, 'beforeClickEvent', $event, fireEvent, function ($event) { // doEvent // doEvent _this.setSelectedItem($event, [index]); }, function ($event) { // emitBeforeEvent // emitBeforeEvent _this.emitBeforeClickEvent(index, $event); }, function ($event, result) { // emitAfterEvent // emitAfterEvent _this.emitClickEvent(index, $event); }, function ($event) { // doPrevented }); }; /** * @param {?} $event * @return {?} */ MaterialToggleSelectItems.prototype.doFocus = /** * @param {?} $event * @return {?} */ function ($event) { if ($(this.elementRef.nativeElement).find('button.mat-button-toggle-button:focus').length <= 0) { $(this.elementRef.nativeElement).find('button.mat-button-toggle-button').focus(); } }; /** * @param {?} $event * @return {?} */ MaterialToggleSelectItems.prototype.doLostFocus = /** * @param {?} $event * @return {?} */ function ($event) { if ($(this.elementRef.nativeElement).find('button.mat-button-toggle-button:focus').length > 0) { $(this.elementRef.nativeElement).find('button.mat-button-toggle-button').blur(); } }; /** * @param {?} inputValue * @param {?} results * @return {?} */ MaterialToggleSelectItems.prototype.onValidationEnd = /** * @param {?} inputValue * @param {?} results * @return {?} */ function (inputValue, results) { }; /** * @param {?} data * @param {?} inputVal * @return {?} */ MaterialToggleSelectItems.prototype.onDataChange = /** * @param {?} data * @param {?} inputVal * @return {?} */ function (data, inputVal) { }; /** * @return {?} */ MaterialToggleSelectItems.prototype.getBeforeClickEvent = /** * @return {?} */ function () { return this.beforeClickEvent; }; /** * @param {?} event * @return {?} */ MaterialToggleSelectItems.prototype.setBeforeClickEvent = /** * @param {?} event * @return {?} */ function (event) { this.beforeClickEvent = event; }; /** * @return {?} */ MaterialToggleSelectItems.prototype.getClickEvent = /** * @return {?} */ function () { return this.clickEvent; }; /** * @param {?} event * @return {?} */ MaterialToggleSelectItems.prototype.setClickEvent = /** * @param {?} event * @return {?} */ function (event) { this.clickEvent = event; }; MaterialToggleSelectItems.TYPE_NAME = TYPE_NAME; MaterialToggleSelectItems.decorators = [ { type: Component, args: [{ moduleId: module.id, selector: TYPE_NAME, template: "<div class=\"material-input material-toggle-select-items\">\n <mat-button-toggle-group [formControl]=\"formControl\" #group=\"matButtonToggleGroup\" multiple *ngIf=\"isMultiple() === true && !isDisabled()\" [vertical]=\"isVertical()\">\n <mat-button-toggle [value]=\"item.value\" *ngFor=\"let item of getItems(); let i = index\" [disabled]=\"isDisabled()\" [disableRipple]=\"isDisabledRipple()\" [checked]=\"isChecked()\" (click)=\"onClick($event, i)\">\n <mat-icon>{{ item.label | phx_text }}</mat-icon>\n </mat-button-toggle>\n </mat-button-toggle-group>\n <mat-button-toggle-group #group=\"matButtonToggleGroup\" *ngIf=\"isMultiple() === false && !isDisabled()\" [vertical]=\"isVertical()\" [ngClass]=\"_uniqueId\">\n <mat-button-toggle [value]=\"item.value\" [ngClass]=\"'item-' +i\" *ngFor=\"let item of getItems(); let i = index\" [disabled]=\"isDisabled()\" [disableRipple]=\"isDisabledRipple()\" [checked]=\"isChecked()\" (click)=\"onClick($event, i)\">\n <mat-icon>{{ item.label | phx_text }}</mat-icon>\n </mat-button-toggle>\n </mat-button-toggle-group>\n <!-- [class.mat-button-toggle-checked]=\"getOldVal() === item.value\" -->\n <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 <ng-template [ngIf]=\"getValidationResultMessage()\" [ngIfElse]=\"validation_else\">\n {{getValidationResultMessage() | phx_text}}\n </ng-template>\n <ng-template #validation_else>\n <!-- We've to put whitespace if there is no validation msg to prevent empty dom -->\n <!-- since if validate msg's <div> dom is empty, the component positioning -->\n <!-- will be misplaced. -->\n {{ '&nbsp;' }}\n </ng-template>\n </div>\n <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 <ng-template [ngIf]=\"getDescription()\" [ngIfElse]=\"description_else\">\n {{ getDescription() | phx_text }}\n </ng-template>\n <ng-template #description_else>\n <!-- We've to put whitespace if there is no description to prevent empty dom -->\n <!-- since if description's <div> dom is empty, the component positioning -->\n <!-- will be misplaced. -->\n {{ '&nbsp;' }}\n </ng-template>\n </div>\n <div class=\"help\">\n {{getHelp() | phx_text}}\n </div>\n</div>\n", },] }, ]; /** @nocollapse */ MaterialToggleSelectItems.ctorParameters = function () { return [ { type: ElementRef, }, { type: NeedFocusService, }, ]; }; MaterialToggleSelectItems.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 },], "value": [{ type: Input },], "multiple": [{ type: Input },], "vertical": [{ type: Input },], "disableRipple": [{ type: Input },], "checked": [{ type: Input },], "ran": [{ 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',] },], "group": [{ type: ViewChild, args: ['group',] },], }; tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Object) ], MaterialToggleSelectItems.prototype, "dataParent", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], MaterialToggleSelectItems.prototype, "ignoreParentData", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Object) ], MaterialToggleSelectItems.prototype, "data", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], MaterialToggleSelectItems.prototype, "ignoreParentDisabled", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], MaterialToggleSelectItems.prototype, "delegateHistory", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Function) ], MaterialToggleSelectItems.prototype, "onDisabled", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Function) ], MaterialToggleSelectItems.prototype, "onEnabled", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], MaterialToggleSelectItems.prototype, "loadingEnabled", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", String) ], MaterialToggleSelectItems.prototype, "i18nKey", void 0); tslib_1.__decorate([ Option('i18nBypass'), tslib_1.__metadata("design:type", Boolean) ], MaterialToggleSelectItems.prototype, "bypass", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], MaterialToggleSelectItems.prototype, "disabled", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", String) ], MaterialToggleSelectItems.prototype, "field", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", String) ], MaterialToggleSelectItems.prototype, "name", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", String) ], MaterialToggleSelectItems.prototype, "typeOfData", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], MaterialToggleSelectItems.prototype, "readOnly", void 0); tslib_1.__decorate([ I18N(), Option(), tslib_1.__metadata("design:type", Object) ], MaterialToggleSelectItems.prototype, "help", void 0); tslib_1.__decorate([ Option('comparator'), tslib_1.__metadata("design:type", Object) ], MaterialToggleSelectItems.prototype, "dataComparator", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Array) ], MaterialToggleSelectItems.prototype, "items", void 0); tslib_1.__decorate([ I18N(), Option(), tslib_1.__metadata("design:type", String) ], MaterialToggleSelectItems.prototype, "description", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Object) ], MaterialToggleSelectItems.prototype, "value", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], MaterialToggleSelectItems.prototype, "multiple", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], MaterialToggleSelectItems.prototype, "vertical", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], MaterialToggleSelectItems.prototype, "disableRipple", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], MaterialToggleSelectItems.prototype, "checked", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Object) ], MaterialToggleSelectItems.prototype, "ran", void 0); tslib_1.__decorate([ Option('load'), tslib_1.__metadata("design:type", EventEmitter) ], MaterialToggleSelectItems.prototype, "loadEvent", void 0); tslib_1.__decorate([ Option('startValidate'), tslib_1.__metadata("design:type", EventEmitter) ], MaterialToggleSelectItems.prototype, "startValidateEvent", void 0); tslib_1.__decorate([ Option('endValidate'), tslib_1.__metadata("design:type", EventEmitter) ], MaterialToggleSelectItems.prototype, "endValidateEvent", void 0); tslib_1.__decorate([ Option('beforeFocus'), tslib_1.__metadata("design:type", EventEmitter) ], MaterialToggleSelectItems.prototype, "beforeFocusEvent", void 0); tslib_1.__decorate([ Option('focus'), tslib_1.__metadata("design:type", EventEmitter) ], MaterialToggleSelectItems.prototype, "focusEvent", void 0); tslib_1.__decorate([ Option('beforeLostFocus'), tslib_1.__metadata("design:type", EventEmitter) ], MaterialToggleSelectItems.prototype, "beforeLostFocusEvent", void 0); tslib_1.__decorate([ Option('lostFocus'), tslib_1.__metadata("design:type", EventEmitter) ], MaterialToggleSelectItems.prototype, "lostFocusEvent", void 0); tslib_1.__decorate([ Option('beforeChange'), tslib_1.__metadata("design:type", EventEmitter) ], MaterialToggleSelectItems.prototype, "beforeChangeEvent", void 0); tslib_1.__decorate([ Option('change'), tslib_1.__metadata("design:type", EventEmitter) ], MaterialToggleSelectItems.prototype, "changeEvent", void 0); tslib_1.__decorate([ Option('beforeSelect'), tslib_1.__metadata("design:type", EventEmitter) ], MaterialToggleSelectItems.prototype, "beforeSelectEvent", void 0); tslib_1.__decorate([ Option('select'), tslib_1.__metadata("design:type", EventEmitter) ], MaterialToggleSelectItems.prototype, "selectEvent", void 0); tslib_1.__decorate([ Option('beforeClick'), tslib_1.__metadata("design:type", EventEmitter) ], MaterialToggleSelectItems.prototype, "beforeClickEvent", void 0); tslib_1.__decorate([ Option('click'), tslib_1.__metadata("design:type", EventEmitter) ], MaterialToggleSelectItems.prototype, "clickEvent", void 0); return MaterialToggleSelectItems; }(AbstractSelectItems)); export { MaterialToggleSelectItems }; function MaterialToggleSelectItems_tsickle_Closure_declarations() { /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */ MaterialToggleSelectItems.decorators; /** * @nocollapse * @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>} */ MaterialToggleSelectItems.ctorParameters; /** @type {!Object<string,!Array<{type: !Function, args: (undefined|!Array<?>)}>>} */ MaterialToggleSelectItems.propDecorators; /** @type {?} */ MaterialToggleSelectItems.TYPE_NAME; /** @type {?} */ MaterialToggleSelectItems.prototype.dataParent; /** @type {?} */ MaterialToggleSelectItems.prototype.ignoreParentData; /** @type {?} */ MaterialToggleSelectItems.prototype.data; /** @type {?} */ MaterialToggleSelectItems.prototype.ignoreParentDisabled; /** @type {?} */ MaterialToggleSelectItems.prototype.delegateHistory; /** @type {?} */ MaterialToggleSelectItems.prototype.onDisabled; /** @type {?} */ MaterialToggleSelectItems.prototype.onEnabled; /** @type {?} */ MaterialToggleSelectItems.prototype.loadingEnabled; /** @type {?} */ MaterialToggleSelectItems.prototype.i18nKey; /** @type {?} */ MaterialToggleSelectItems.prototype.bypass; /** @type {?} */ MaterialToggleSelectItems.prototype.options; /** @type {?} */ MaterialToggleSelectItems.prototype.disabled; /** @type {?} */ MaterialToggleSelectItems.prototype.field; /** @type {?} */ MaterialToggleSelectItems.prototype.name; /** @type {?} */ MaterialToggleSelectItems.prototype.typeOfData; /** @type {?} */ MaterialToggleSelectItems.prototype.readOnly; /** @type {?} */ MaterialToggleSelectItems.prototype.help; /** @type {?} */ MaterialToggleSelectItems.prototype.dataComparator; /** @type {?} */ MaterialToggleSelectItems.prototype.items; /** @type {?} */ MaterialToggleSelectItems.prototype.description; /** @type {?} */ MaterialToggleSelectItems.prototype.value; /** @type {?} */ MaterialToggleSelectItems.prototype.multiple; /** @type {?} */ MaterialToggleSelectItems.prototype.vertical; /** @type {?} */ MaterialToggleSelectItems.prototype.disableRipple; /** @type {?} */ MaterialToggleSelectItems.prototype.checked; /** @type {?} */ MaterialToggleSelectItems.prototype.ran; /** @type {?} */ MaterialToggleSelectItems.prototype.formControl; /** @type {?} */ MaterialToggleSelectItems.prototype.formControl2; /** @type {?} */ MaterialToggleSelectItems.prototype.loadEvent; /** @type {?} */ MaterialToggleSelectItems.prototype.startValidateEvent; /** @type {?} */ MaterialToggleSelectItems.prototype.endValidateEvent; /** @type {?} */ MaterialToggleSelectItems.prototype.beforeFocusEvent; /** @type {?} */ MaterialToggleSelectItems.prototype.focusEvent; /** @type {?} */ MaterialToggleSelectItems.prototype.beforeLostFocusEvent; /** @type {?} */ MaterialToggleSelectItems.prototype.lostFocusEvent; /** @type {?} */ MaterialToggleSelectItems.prototype.beforeChangeEvent; /** @type {?} */ MaterialToggleSelectItems.prototype.changeEvent; /** @type {?} */ MaterialToggleSelectItems.prototype.beforeSelectEvent; /** @type {?} */ MaterialToggleSelectItems.prototype.selectEvent; /** @type {?} */ MaterialToggleSelectItems.prototype.beforeClickEvent; /** @type {?} */ MaterialToggleSelectItems.prototype.clickEvent; /** @type {?} */ MaterialToggleSelectItems.prototype.group; /** @type {?} */ MaterialToggleSelectItems.prototype._uniqueId; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWF0ZXJpYWxUb2dnbGVTZWxlY3RJdGVtcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9jb20ucGhsb3h1aS8iLCJzb3VyY2VzIjpbImxpYi90aGVtZS9tYXRlcmlhbC9jb21wb25lbnQvZGF0YXZpZXcvaW5wdXQvTWF0ZXJpYWxUb2dnbGVTZWxlY3RJdGVtcy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBaUIsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JILE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUUvRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDbEcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDbkYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBSW5FLE9BQU8sRUFBRSxXQUFXLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN2RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXBELHFCQUFNLFNBQVMsR0FBVyw4QkFBOEIsQ0FBQzs7SUE2Q1YscURBQW1CO0lBa0poRSxtQ0FBWSxVQUFzQixFQUFFLGdCQUFrQztRQUF0RSxZQUNFLGtCQUFNLFVBQVUsRUFBRSxnQkFBZ0IsQ0FBQyxTQWVwQztRQWJDLEtBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzNDLEtBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNyQyxLQUFJLENB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RWpDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQzswQ0FDTSxZQUFZOzs7UUFFM0MsTUFBTSxDQUFDLFdBQVcsQ0FBQzswQ0FDTSxZQUFZOzs7UUFFckMsTUFBTSxDQUFDLGNBQWMsQ0FBQzswQ0FDTSxZQUFZOzs7UUFFeEMsTUFBTSxDQUFDLFFBQVEsQ0FBQzswQ0FDTSxZQUFZOzs7UUFJbEMsTUFBTSxDQUFDLGNBQWMsQ0FBQzswQ0FDTSxZQUFZOzs7UUFFeEMsTUFBTSxDQUFDLFFBQVEsQ0FBQzswQ0FDTSxZQUFZOzs7UUFJbEMsTUFBTSxDQUFDLGFBQWEsQ0FBQzswQ0FDTSxZQUFZOzs7UUFFdkMsTUFBTSxDQUFDLE9BQU8sQ0FBQzswQ0FDTSxZQUFZOztvQ0F4TXBDO0VBNEQrQyxtQkFBbUI7U0FBckQseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIEVsZW1lbnRSZWYsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCwgU2ltcGxlQ2hhbmdlcywgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEkxOE4gfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9kZWNvcmF0b3IvSTE4Ti5kZWNvcmF0b3InO1xyXG5pbXBvcnQgeyBJSGFzRGF0YSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudC9JSGFzRGF0YSc7XHJcbmltcG9ydCB7IE9wdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2RlY29yYXRvci9PcHRpb24uZGVjb3JhdG9yJztcclxuaW1wb3J0IHsgQWJzdHJhY3RTZWxlY3RJdGVtcyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudC9kYXRhdmlldy9pbnB1dC9BYnN0cmFjdFNlbGVjdEl0ZW1zJztcclxuaW1wb3J0IHsgTmVlZEZvY3VzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NlcnZpY2UvTmVlZEZvY3VzU2VydmljZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRXZlbnRVdGlscyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NoYXJlL3V0aWxzL0V2ZW50VXRpbHMnO1xyXG5pbXBvcnQgeyBWYWxpZGF0aW9uUmVzdWx0IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50L21vZGVsL1ZhbGlkYXRpb25SZXN1bHQnO1xyXG5pbXBvcnQgeyBEZWZhdWx0U2VsZWN0SXRlbU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50L21vZGVsL0RlZmF1bHRTZWxlY3RJdGVtTW9kZWwnO1xyXG5pbXBvcnQgeyBJRGF0YUNvbXBhcmF0b3IgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb21wb25lbnQvSURhdGFDb21wYXJhdG9yJztcclxuaW1wb3J0IHsgQ0xJQ0tfRVZFTlQsIEJFRk9SRV9DTElDS19FVkVOVCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NoYXJlL0N1c3RvbUV2ZW50VHlwZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBJU2VsZWN0SXRlbU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50L2NvbXBvbmVudHMnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Ub2dnbGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbCc7XHJcblxyXG5jb25zdCBUWVBFX05BTUU6IHN0cmluZyA9IFwibWF0ZXJpYWwtdG9nZ2xlLXNlbGVjdC1pdGVtc1wiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgbW9kdWxlSWQ6IG1vZHVsZS5pZCxcclxuICBzZWxlY3RvcjogVFlQRV9OQU1FLFxyXG4gIHRlbXBsYXRlOiBgPGRpdiBjbGFzcz1cIm1hdGVyaWFsLWlucHV0IG1hdGVyaWFsLXRvZ2dsZS1zZWxlY3QtaXRlbXNcIj5cclxuICA8bWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCIgI2dyb3VwPVwibWF0QnV0dG9uVG9nZ2xlR3JvdXBcIiBtdWx0aXBsZSAqbmdJZj1cImlzTXVsdGlwbGUoKSA9PT0gdHJ1ZSAmJiAhaXNEaXNhYmxlZCgpXCIgW3ZlcnRpY2FsXT1cImlzVmVydGljYWwoKVwiPlxyXG4gICAgPG1hdC1idXR0b24tdG9nZ2xlIFt2YWx1ZV09XCJpdGVtLnZhbHVlXCIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZ2V0SXRlbXMoKTsgbGV0IGkgPSBpbmRleFwiIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkKClcIiBbZGlzYWJsZVJpcHBsZV09XCJpc0Rpc2FibGVkUmlwcGxlKClcIiBbY2hlY2tlZF09XCJpc0NoZWNrZWQoKVwiIChjbGljayk9XCJvbkNsaWNrKCRldmVudCwgaSlcIj5cclxuICAgICAgPG1hdC1pY29uPnt7IGl0ZW0ubGFiZWwgfCBwaHhfdGV4dCB9fTwvbWF0LWljb24+XHJcbiAgICA8L21hdC1idXR0b24tdG9nZ2xlPlxyXG4gIDwvbWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXA+XHJcbiAgPG1hdC1idXR0b24tdG9nZ2xlLWdyb3VwICNncm91cD1cIm1hdEJ1dHRvblRvZ2dsZUdyb3VwXCIgKm5nSWY9XCJpc011bHRpcGxlKCkgPT09IGZhbHNlICYmICFpc0Rpc2FibGVkKClcIiBbdmVydGljYWxdPVwiaXNWZXJ0aWNhbCgpXCIgW25nQ2xhc3NdPVwiX3VuaXF1ZUlkXCI+XHJcbiAgICA8bWF0LWJ1dHRvbi10b2dnbGUgW3ZhbHVlXT1cIml0ZW0udmFsdWVcIiBbbmdDbGFzc109XCInaXRlbS0nICtpXCIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZ2V0SXRlbXMoKTsgbGV0IGkgPSBpbmRleFwiIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkKClcIiBbZGlzYWJsZVJpcHBsZV09XCJpc0Rpc2FibGVkUmlwcGxlKClcIiBbY2hlY2tlZF09XCJpc0NoZWNrZWQoKVwiIChjbGljayk9XCJvbkNsaWNrKCRldmVudCwgaSlcIj5cclxuICAgICAgPG1hdC1pY29uPnt7IGl0ZW0ubGFiZWwgfCBwaHhfdGV4dCB9fTwvbWF0LWljb24+XHJcbiAgICA8L21hdC1idXR0b24tdG9nZ2xlPlxyXG4gIDwvbWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXA+XHJcbiAgPCEtLSBbY2xhc3MubWF0LWJ1dHRvbi10b2dnbGUtY2hlY2tlZF09XCJnZXRPbGRWYWwoKSA9PT0gaXRlbS52YWx1ZVwiIC0tPlxyXG4gIDxkaXYgY2xhc3M9XCJ2YWxpZGF0aW9uXCIgW3N0eWxlLmRpc3BsYXldPVwiZ2V0VmFsaWRhdGlvblJlc3VsdE1lc3NhZ2UoKSA/IHVuZGVmaW5lZCA6ICdub25lJ1wiIFtjbGFzcy5ub3JtYWxdPVwiaXNOb3JtYWwoKSAmJiAhaXNEaXNhYmxlZCgpXCIgW2NsYXNzLnN1Y2Nlc3NdPVwiaXNTdWNjZXNzKCkgJiYgIWlzRGlzYWJsZWQoKVwiIFtjbGFzcy53YXJuaW5nXT1cImlzV2FybmluZygpICYmICFpc0Rpc2FibGVkKClcIiBbY2xhc3MuZXJyb3JdPVwiaXNFcnJvcigpICYmICFpc0Rpc2FibGVkKClcIj5cclxuICAgIDxuZy10ZW1wbGF0ZSBbbmdJZl09XCJnZXRWYWxpZGF0aW9uUmVzdWx0TWVzc2FnZSgpXCIgW25nSWZFbHNlXT1cInZhbGlkYXRpb25fZWxzZVwiPlxyXG4gICAgICAgIHt7Z2V0VmFsaWRhdGlvblJlc3VsdE1lc3NhZ2UoKSB8IHBoeF90ZXh0fX1cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8bmctdGVtcGxhdGUgI3ZhbGlkYXRpb25fZWxzZT5cclxuICAgICAgICA8IS0tIFdlJ3ZlIHRvIHB1dCB3aGl0ZXNwYWNlIGlmIHRoZXJlIGlzIG5vIHZhbGlkYXRpb24gbXNnIHRvIHByZXZlbnQgZW1wdHkgZG9tIC0tPlxyXG4gICAgICAgIDwhLS0gc2luY2UgaWYgdmFsaWRhdGUgbXNnJ3MgPGRpdj4gZG9tIGlzIGVtcHR5LCB0aGUgY29tcG9uZW50IHBvc2l0aW9uaW5nIC0tPlxyXG4gICAgICAgIDwhLS0gd2lsbCBiZSBtaXNwbGFjZWQuIC0tPlxyXG4gICAgICAgIHt7ICcmbmJzcDsnIH19XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJkZXNjcmlwdGlvblwiIFtzdHlsZS5kaXNwbGF5XT1cImdldFZhbGlkYXRpb25SZXN1bHRNZXNzYWdlKCkgPyAnbm9uZScgOiB1bmRlZmluZWRcIiBbY2xhc3Mubm9ybWFsXT1cI