UNPKG

devextreme-angular

Version:

Angular UI and visualization components based on DevExtreme widgets

1,439 lines (1,379 loc) • 146 kB
/*! * devextreme-angular * Version: 20.2.5 * Build date: Fri Jan 15 2021 * * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED * * This software may be modified and distributed under the terms * of the MIT license. See the LICENSE file in the root of the project for details. * * https://github.com/DevExpress/devextreme-angular */ import * as tslib_1 from "tslib"; /* tslint:disable:max-line-length */ import { BrowserTransferStateModule } from '@angular/platform-browser'; import { TransferState } from '@angular/platform-browser'; import { Component, NgModule, ElementRef, NgZone, PLATFORM_ID, Inject, Input, Output, OnDestroy, EventEmitter, forwardRef, HostListener, OnChanges, DoCheck, SimpleChanges, ContentChildren, QueryList } from '@angular/core'; import DxTagBox from 'devextreme/ui/tag_box'; import { NG_VALUE_ACCESSOR } from '@angular/forms'; import { DxComponent, DxTemplateHost, DxIntegrationModule, DxTemplateModule, NestedOptionHost, IterableDifferHelper, WatcherHelper } from 'devextreme-angular/core'; import { DxiButtonModule } from 'devextreme-angular/ui/nested'; import { DxoOptionsModule } from 'devextreme-angular/ui/nested'; import { DxoDropDownOptionsModule } from 'devextreme-angular/ui/nested'; import { DxoAnimationModule } from 'devextreme-angular/ui/nested'; import { DxoHideModule } from 'devextreme-angular/ui/nested'; import { DxoShowModule } from 'devextreme-angular/ui/nested'; import { DxoPositionModule } from 'devextreme-angular/ui/nested'; import { DxoAtModule } from 'devextreme-angular/ui/nested'; import { DxoBoundaryOffsetModule } from 'devextreme-angular/ui/nested'; import { DxoCollisionModule } from 'devextreme-angular/ui/nested'; import { DxoMyModule } from 'devextreme-angular/ui/nested'; import { DxoOffsetModule } from 'devextreme-angular/ui/nested'; import { DxiToolbarItemModule } from 'devextreme-angular/ui/nested'; import { DxiItemModule } from 'devextreme-angular/ui/nested'; import { DxiButtonComponent } from 'devextreme-angular/ui/nested'; import { DxiItemComponent } from 'devextreme-angular/ui/nested'; const CUSTOM_VALUE_ACCESSOR_PROVIDER = { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => DxTagBoxComponent), multi: true }; /** * The TagBox UI component is an editor that allows an end user to select multiple items from a drop-down list. */ let DxTagBoxComponent = class DxTagBoxComponent extends DxComponent { constructor(elementRef, ngZone, templateHost, _watcherHelper, _idh, optionHost, transferState, platformId) { super(elementRef, ngZone, templateHost, _watcherHelper, transferState, platformId); this._watcherHelper = _watcherHelper; this._idh = _idh; this.touched = (_) => { }; this._createEventEmitters([ { subscribe: 'change', emit: 'onChange' }, { subscribe: 'closed', emit: 'onClosed' }, { subscribe: 'contentReady', emit: 'onContentReady' }, { subscribe: 'customItemCreating', emit: 'onCustomItemCreating' }, { subscribe: 'disposing', emit: 'onDisposing' }, { subscribe: 'enterKey', emit: 'onEnterKey' }, { subscribe: 'focusIn', emit: 'onFocusIn' }, { subscribe: 'focusOut', emit: 'onFocusOut' }, { subscribe: 'initialized', emit: 'onInitialized' }, { subscribe: 'input', emit: 'onInput' }, { subscribe: 'itemClick', emit: 'onItemClick' }, { subscribe: 'keyDown', emit: 'onKeyDown' }, { subscribe: 'keyPress', emit: 'onKeyPress' }, { subscribe: 'keyUp', emit: 'onKeyUp' }, { subscribe: 'multiTagPreparing', emit: 'onMultiTagPreparing' }, { subscribe: 'opened', emit: 'onOpened' }, { subscribe: 'optionChanged', emit: 'onOptionChanged' }, { subscribe: 'selectAllValueChanged', emit: 'onSelectAllValueChanged' }, { subscribe: 'selectionChanged', emit: 'onSelectionChanged' }, { subscribe: 'valueChanged', emit: 'onValueChanged' }, { emit: 'acceptCustomValueChange' }, { emit: 'accessKeyChange' }, { emit: 'activeStateEnabledChange' }, { emit: 'applyValueModeChange' }, { emit: 'buttonsChange' }, { emit: 'dataSourceChange' }, { emit: 'deferRenderingChange' }, { emit: 'disabledChange' }, { emit: 'displayExprChange' }, { emit: 'dropDownButtonTemplateChange' }, { emit: 'dropDownOptionsChange' }, { emit: 'elementAttrChange' }, { emit: 'fieldTemplateChange' }, { emit: 'focusStateEnabledChange' }, { emit: 'groupedChange' }, { emit: 'groupTemplateChange' }, { emit: 'heightChange' }, { emit: 'hideSelectedItemsChange' }, { emit: 'hintChange' }, { emit: 'hoverStateEnabledChange' }, { emit: 'inputAttrChange' }, { emit: 'isValidChange' }, { emit: 'itemsChange' }, { emit: 'itemTemplateChange' }, { emit: 'maxDisplayedTagsChange' }, { emit: 'maxLengthChange' }, { emit: 'minSearchLengthChange' }, { emit: 'multilineChange' }, { emit: 'nameChange' }, { emit: 'noDataTextChange' }, { emit: 'openedChange' }, { emit: 'openOnFieldClickChange' }, { emit: 'placeholderChange' }, { emit: 'readOnlyChange' }, { emit: 'rtlEnabledChange' }, { emit: 'searchEnabledChange' }, { emit: 'searchExprChange' }, { emit: 'searchModeChange' }, { emit: 'searchTimeoutChange' }, { emit: 'selectAllModeChange' }, { emit: 'selectedItemsChange' }, { emit: 'showClearButtonChange' }, { emit: 'showDataBeforeSearchChange' }, { emit: 'showDropDownButtonChange' }, { emit: 'showMultiTagOnlyChange' }, { emit: 'showSelectionControlsChange' }, { emit: 'stylingModeChange' }, { emit: 'tabIndexChange' }, { emit: 'tagTemplateChange' }, { emit: 'textChange' }, { emit: 'validationErrorChange' }, { emit: 'validationErrorsChange' }, { emit: 'validationMessageModeChange' }, { emit: 'validationStatusChange' }, { emit: 'valueChange' }, { emit: 'valueExprChange' }, { emit: 'visibleChange' }, { emit: 'widthChange' }, { emit: 'wrapItemTextChange' }, { emit: 'onBlur' } ]); this._idh.setHost(this); optionHost.setHost(this); } /** * Specifies whether the UI component allows a user to enter a custom value. Requires the onCustomItemCreating handler implementation. */ get acceptCustomValue() { return this._getOption('acceptCustomValue'); } set acceptCustomValue(value) { this._setOption('acceptCustomValue', value); } /** * Specifies the shortcut key that sets focus on the UI component. */ get accessKey() { return this._getOption('accessKey'); } set accessKey(value) { this._setOption('accessKey', value); } /** * Specifies whether or not the UI component changes its state when interacting with a user. */ get activeStateEnabled() { return this._getOption('activeStateEnabled'); } set activeStateEnabled(value) { this._setOption('activeStateEnabled', value); } /** * Specifies how the UI component applies values. */ get applyValueMode() { return this._getOption('applyValueMode'); } set applyValueMode(value) { this._setOption('applyValueMode', value); } /** * Allows you to add custom buttons to the input text field. */ get buttons() { return this._getOption('buttons'); } set buttons(value) { this._setOption('buttons', value); } /** * Binds the UI component to data. */ get dataSource() { return this._getOption('dataSource'); } set dataSource(value) { this._setOption('dataSource', value); } /** * Specifies whether to render the drop-down field's content when it is displayed. If false, the content is rendered immediately. */ get deferRendering() { return this._getOption('deferRendering'); } set deferRendering(value) { this._setOption('deferRendering', value); } /** * Specifies whether the UI component responds to user interaction. */ get disabled() { return this._getOption('disabled'); } set disabled(value) { this._setOption('disabled', value); } /** * Specifies the data field whose values should be displayed. */ get displayExpr() { return this._getOption('displayExpr'); } set displayExpr(value) { this._setOption('displayExpr', value); } /** * Specifies a custom template for the drop-down button. */ get dropDownButtonTemplate() { return this._getOption('dropDownButtonTemplate'); } set dropDownButtonTemplate(value) { this._setOption('dropDownButtonTemplate', value); } /** * Configures the drop-down field which holds the content. */ get dropDownOptions() { return this._getOption('dropDownOptions'); } set dropDownOptions(value) { this._setOption('dropDownOptions', value); } /** * Specifies the global attributes to be attached to the UI component's container element. */ get elementAttr() { return this._getOption('elementAttr'); } set elementAttr(value) { this._setOption('elementAttr', value); } /** * Specifies a custom template for the text field. Must contain the TextBox UI component. */ get fieldTemplate() { return this._getOption('fieldTemplate'); } set fieldTemplate(value) { this._setOption('fieldTemplate', value); } /** * Specifies whether the UI component can be focused using keyboard navigation. */ get focusStateEnabled() { return this._getOption('focusStateEnabled'); } set focusStateEnabled(value) { this._setOption('focusStateEnabled', value); } /** * Specifies whether data items should be grouped. */ get grouped() { return this._getOption('grouped'); } set grouped(value) { this._setOption('grouped', value); } /** * Specifies a custom template for group captions. */ get groupTemplate() { return this._getOption('groupTemplate'); } set groupTemplate(value) { this._setOption('groupTemplate', value); } /** * Specifies the UI component's height. */ get height() { return this._getOption('height'); } set height(value) { this._setOption('height', value); } /** * A Boolean value specifying whether or not to hide selected items. */ get hideSelectedItems() { return this._getOption('hideSelectedItems'); } set hideSelectedItems(value) { this._setOption('hideSelectedItems', value); } /** * Specifies text for a hint that appears when a user pauses on the UI component. */ get hint() { return this._getOption('hint'); } set hint(value) { this._setOption('hint', value); } /** * Specifies whether the UI component changes its state when a user pauses on it. */ get hoverStateEnabled() { return this._getOption('hoverStateEnabled'); } set hoverStateEnabled(value) { this._setOption('hoverStateEnabled', value); } /** * Specifies the attributes to be passed on to the underlying HTML element. */ get inputAttr() { return this._getOption('inputAttr'); } set inputAttr(value) { this._setOption('inputAttr', value); } /** * Specifies or indicates whether the editor's value is valid. */ get isValid() { return this._getOption('isValid'); } set isValid(value) { this._setOption('isValid', value); } /** * An array of items displayed by the UI component. */ get items() { return this._getOption('items'); } set items(value) { this._setOption('items', value); } /** * Specifies a custom template for items. */ get itemTemplate() { return this._getOption('itemTemplate'); } set itemTemplate(value) { this._setOption('itemTemplate', value); } /** * Specifies the limit on displayed tags. On exceeding it, the UI component replaces all tags with a single multi-tag that displays the number of selected items. */ get maxDisplayedTags() { return this._getOption('maxDisplayedTags'); } set maxDisplayedTags(value) { this._setOption('maxDisplayedTags', value); } /** * Specifies the maximum number of characters you can enter into the textbox. */ get maxLength() { return this._getOption('maxLength'); } set maxLength(value) { this._setOption('maxLength', value); } /** * The minimum number of characters that must be entered into the text box to begin a search. Applies only if searchEnabled is true. */ get minSearchLength() { return this._getOption('minSearchLength'); } set minSearchLength(value) { this._setOption('minSearchLength', value); } /** * A Boolean value specifying whether or not the UI component is multiline. */ get multiline() { return this._getOption('multiline'); } set multiline(value) { this._setOption('multiline', value); } /** * The value to be assigned to the `name` attribute of the underlying HTML element. */ get name() { return this._getOption('name'); } set name(value) { this._setOption('name', value); } /** * The text or HTML markup displayed by the UI component if the item collection is empty. */ get noDataText() { return this._getOption('noDataText'); } set noDataText(value) { this._setOption('noDataText', value); } /** * Specifies whether or not the drop-down editor is displayed. */ get opened() { return this._getOption('opened'); } set opened(value) { this._setOption('opened', value); } /** * Specifies whether a user can open the drop-down list by clicking a text field. */ get openOnFieldClick() { return this._getOption('openOnFieldClick'); } set openOnFieldClick(value) { this._setOption('openOnFieldClick', value); } /** * The text that is provided as a hint in the select box editor. */ get placeholder() { return this._getOption('placeholder'); } set placeholder(value) { this._setOption('placeholder', value); } /** * Specifies whether the editor is read-only. */ get readOnly() { return this._getOption('readOnly'); } set readOnly(value) { this._setOption('readOnly', value); } /** * Switches the UI component to a right-to-left representation. */ get rtlEnabled() { return this._getOption('rtlEnabled'); } set rtlEnabled(value) { this._setOption('rtlEnabled', value); } /** * Specifies whether to allow searching. */ get searchEnabled() { return this._getOption('searchEnabled'); } set searchEnabled(value) { this._setOption('searchEnabled', value); } /** * Specifies the name of a data source item field or an expression whose value is compared to the search criterion. */ get searchExpr() { return this._getOption('searchExpr'); } set searchExpr(value) { this._setOption('searchExpr', value); } /** * Specifies a comparison operation used to search UI component items. */ get searchMode() { return this._getOption('searchMode'); } set searchMode(value) { this._setOption('searchMode', value); } /** * Specifies the time delay, in milliseconds, after the last character has been typed in, before a search is executed. */ get searchTimeout() { return this._getOption('searchTimeout'); } set searchTimeout(value) { this._setOption('searchTimeout', value); } /** * Specifies the mode in which all items are selected. */ get selectAllMode() { return this._getOption('selectAllMode'); } set selectAllMode(value) { this._setOption('selectAllMode', value); } /** * Gets the currently selected items. */ get selectedItems() { return this._getOption('selectedItems'); } set selectedItems(value) { this._setOption('selectedItems', value); } /** * Specifies whether to display the Clear button in the UI component. */ get showClearButton() { return this._getOption('showClearButton'); } set showClearButton(value) { this._setOption('showClearButton', value); } /** * Specifies whether or not the UI component displays unfiltered values until a user types a number of characters exceeding the minSearchLength property value. */ get showDataBeforeSearch() { return this._getOption('showDataBeforeSearch'); } set showDataBeforeSearch(value) { this._setOption('showDataBeforeSearch', value); } /** * Specifies whether the drop-down button is visible. */ get showDropDownButton() { return this._getOption('showDropDownButton'); } set showDropDownButton(value) { this._setOption('showDropDownButton', value); } /** * Specifies whether the multi-tag is shown without ordinary tags. */ get showMultiTagOnly() { return this._getOption('showMultiTagOnly'); } set showMultiTagOnly(value) { this._setOption('showMultiTagOnly', value); } /** * Specifies whether or not to display selection controls. */ get showSelectionControls() { return this._getOption('showSelectionControls'); } set showSelectionControls(value) { this._setOption('showSelectionControls', value); } /** * Specifies how the UI component's text field is styled. */ get stylingMode() { return this._getOption('stylingMode'); } set stylingMode(value) { this._setOption('stylingMode', value); } /** * Specifies the number of the element when the Tab key is used for navigating. */ get tabIndex() { return this._getOption('tabIndex'); } set tabIndex(value) { this._setOption('tabIndex', value); } /** * Specifies a custom template for tags. */ get tagTemplate() { return this._getOption('tagTemplate'); } set tagTemplate(value) { this._setOption('tagTemplate', value); } /** * The read-only property that holds the text displayed by the UI component input element. */ get text() { return this._getOption('text'); } set text(value) { this._setOption('text', value); } /** * Information on the broken validation rule. Contains the first item from the validationErrors array. */ get validationError() { return this._getOption('validationError'); } set validationError(value) { this._setOption('validationError', value); } /** * An array of the validation rules that failed. */ get validationErrors() { return this._getOption('validationErrors'); } set validationErrors(value) { this._setOption('validationErrors', value); } /** * Specifies how the message about the validation rules that are not satisfied by this editor's value is displayed. */ get validationMessageMode() { return this._getOption('validationMessageMode'); } set validationMessageMode(value) { this._setOption('validationMessageMode', value); } /** * Indicates or specifies the current validation status. */ get validationStatus() { return this._getOption('validationStatus'); } set validationStatus(value) { this._setOption('validationStatus', value); } /** * Specifies the selected items. */ get value() { return this._getOption('value'); } set value(value) { this._setOption('value', value); } /** * Specifies which data field provides unique values to the UI component's value. */ get valueExpr() { return this._getOption('valueExpr'); } set valueExpr(value) { this._setOption('valueExpr', value); } /** * Specifies whether the UI component is visible. */ get visible() { return this._getOption('visible'); } set visible(value) { this._setOption('visible', value); } /** * Specifies the UI component's width. */ get width() { return this._getOption('width'); } set width(value) { this._setOption('width', value); } /** * Specifies whether text that exceeds the drop-down list width should be wrapped. */ get wrapItemText() { return this._getOption('wrapItemText'); } set wrapItemText(value) { this._setOption('wrapItemText', value); } change(_) { } get buttonsChildren() { return this._getOption('buttons'); } set buttonsChildren(value) { this.setChildren('buttons', value); } get itemsChildren() { return this._getOption('items'); } set itemsChildren(value) { this.setChildren('items', value); } _createInstance(element, options) { return new DxTagBox(element, options); } writeValue(value) { this.eventHelper.lockedValueChangeEvent = true; this.value = value; this.eventHelper.lockedValueChangeEvent = false; } setDisabledState(isDisabled) { this.disabled = isDisabled; } registerOnChange(fn) { this.change = fn; } registerOnTouched(fn) { this.touched = fn; } _createWidget(element) { super._createWidget(element); this.instance.on('focusOut', (e) => { this.eventHelper.fireNgEvent('onBlur', [e]); }); } ngOnDestroy() { this._destroyWidget(); } ngOnChanges(changes) { super.ngOnChanges(changes); this.setupChanges('buttons', changes); this.setupChanges('dataSource', changes); this.setupChanges('items', changes); this.setupChanges('searchExpr', changes); this.setupChanges('selectedItems', changes); this.setupChanges('validationErrors', changes); this.setupChanges('value', changes); } setupChanges(prop, changes) { if (!(prop in this._optionsToUpdate)) { this._idh.setup(prop, changes); } } ngDoCheck() { this._idh.doCheck('buttons'); this._idh.doCheck('dataSource'); this._idh.doCheck('items'); this._idh.doCheck('searchExpr'); this._idh.doCheck('selectedItems'); this._idh.doCheck('validationErrors'); this._idh.doCheck('value'); this._watcherHelper.checkWatchers(); super.ngDoCheck(); super.clearChangedOptions(); } _setOption(name, value) { let isSetup = this._idh.setupSingle(name, value); let isChanged = this._idh.getChanges(name, value) !== null; if (isSetup || isChanged) { super._setOption(name, value); } } }; DxTagBoxComponent.ctorParameters = () => [ { type: ElementRef }, { type: NgZone }, { type: DxTemplateHost }, { type: WatcherHelper }, { type: IterableDifferHelper }, { type: NestedOptionHost }, { type: TransferState }, { type: undefined, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] } ]; tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", Boolean), tslib_1.__metadata("design:paramtypes", [Boolean]) ], DxTagBoxComponent.prototype, "acceptCustomValue", null); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", String), tslib_1.__metadata("design:paramtypes", [String]) ], DxTagBoxComponent.prototype, "accessKey", null); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", Boolean), tslib_1.__metadata("design:paramtypes", [Boolean]) ], DxTagBoxComponent.prototype, "activeStateEnabled", null); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", String), tslib_1.__metadata("design:paramtypes", [String]) ], DxTagBoxComponent.prototype, "applyValueMode", null); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", Array), tslib_1.__metadata("design:paramtypes", [Array]) ], DxTagBoxComponent.prototype, "buttons", null); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", Object), tslib_1.__metadata("design:paramtypes", [Object]) ], DxTagBoxComponent.prototype, "dataSource", null); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", Boolean), tslib_1.__metadata("design:paramtypes", [Boolean]) ], DxTagBoxComponent.prototype, "deferRendering", null); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", Boolean), tslib_1.__metadata("design:paramtypes", [Boolean]) ], DxTagBoxComponent.prototype, "disabled", null); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", Object), tslib_1.__metadata("design:paramtypes", [Object]) ], DxTagBoxComponent.prototype, "displayExpr", null); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", Object), tslib_1.__metadata("design:paramtypes", [Object]) ], DxTagBoxComponent.prototype, "dropDownButtonTemplate", null); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", Object), tslib_1.__metadata("design:paramtypes", [Object]) ], DxTagBoxComponent.prototype, "dropDownOptions", null); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", Object), tslib_1.__metadata("design:paramtypes", [Object]) ], DxTagBoxComponent.prototype, "elementAttr", null); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", Object), tslib_1.__metadata("design:paramtypes", [Object]) ], DxTagBoxComponent.prototype, "fieldTemplate", null); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", Boolean), tslib_1.__metadata("design:paramtypes", [Boolean]) ], DxTagBoxComponent.prototype, "focusStateEnabled", null); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", Boolean), tslib_1.__metadata("design:paramtypes", [Boolean]) ], DxTagBoxComponent.prototype, "grouped", null); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", Object), tslib_1.__metadata("design:paramtypes", [Object]) ], DxTagBoxComponent.prototype, "groupTemplate", null); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", Object), tslib_1.__metadata("design:paramtypes", [Object]) ], DxTagBoxComponent.prototype, "height", null); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", Boolean), tslib_1.__metadata("design:paramtypes", [Boolean]) ], DxTagBoxComponent.prototype, "hideSelectedItems", null); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", String), tslib_1.__metadata("design:paramtypes", [String]) ], DxTagBoxComponent.prototype, "hint", null); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", Boolean), tslib_1.__metadata("design:paramtypes", [Boolean]) ], DxTagBoxComponent.prototype, "hoverStateEnabled", null); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", Object), tslib_1.__metadata("design:paramtypes", [Object]) ], DxTagBoxComponent.prototype, "inputAttr", null); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", Boolean), tslib_1.__metadata("design:paramtypes", [Boolean]) ], DxTagBoxComponent.prototype, "isValid", null); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", Array), tslib_1.__metadata("design:paramtypes", [Array]) ], DxTagBoxComponent.prototype, "items", null); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", Object), tslib_1.__metadata("design:paramtypes", [Object]) ], DxTagBoxComponent.prototype, "itemTemplate", null); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", Number), tslib_1.__metadata("design:paramtypes", [Number]) ], DxTagBoxComponent.prototype, "maxDisplayedTags", null); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", Object), tslib_1.__metadata("design:paramtypes", [Object]) ], DxTagBoxComponent.prototype, "maxLength", null); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", Number), tslib_1.__metadata("design:paramtypes", [Number]) ], DxTagBoxComponent.prototype, "minSearchLength", null); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", Boolean), tslib_1.__metadata("design:paramtypes", [Boolean]) ], DxTagBoxComponent.prototype, "multiline", null); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", String), tslib_1.__metadata("design:paramtypes", [String]) ], DxTagBoxComponent.prototype, "name", null); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", String), tslib_1.__metadata("design:paramtypes", [String]) ], DxTagBoxComponent.prototype, "noDataText", null); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", Boolean), tslib_1.__metadata("design:paramtypes", [Boolean]) ], DxTagBoxComponent.prototype, "opened", null); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", Boolean), tslib_1.__metadata("design:paramtypes", [Boolean]) ], DxTagBoxComponent.prototype, "openOnFieldClick", null); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", String), tslib_1.__metadata("design:paramtypes", [String]) ], DxTagBoxComponent.prototype, "placeholder", null); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", Boolean), tslib_1.__metadata("design:paramtypes", [Boolean]) ], DxTagBoxComponent.prototype, "readOnly", null); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", Boolean), tslib_1.__metadata("design:paramtypes", [Boolean]) ], DxTagBoxComponent.prototype, "rtlEnabled", null); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", Boolean), tslib_1.__metadata("design:paramtypes", [Boolean]) ], DxTagBoxComponent.prototype, "searchEnabled", null); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", Object), tslib_1.__metadata("design:paramtypes", [Object]) ], DxTagBoxComponent.prototype, "searchExpr", null); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", String), tslib_1.__metadata("design:paramtypes", [String]) ], DxTagBoxComponent.prototype, "searchMode", null); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", Number), tslib_1.__metadata("design:paramtypes", [Number]) ], DxTagBoxComponent.prototype, "searchTimeout", null); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", String), tslib_1.__metadata("design:paramtypes", [String]) ], DxTagBoxComponent.prototype, "selectAllMode", null); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", Array), tslib_1.__metadata("design:paramtypes", [Array]) ], DxTagBoxComponent.prototype, "selectedItems", null); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", Boolean), tslib_1.__metadata("design:paramtypes", [Boolean]) ], DxTagBoxComponent.prototype, "showClearButton", null); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", Boolean), tslib_1.__metadata("design:paramtypes", [Boolean]) ], DxTagBoxComponent.prototype, "showDataBeforeSearch", null); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", Boolean), tslib_1.__metadata("design:paramtypes", [Boolean]) ], DxTagBoxComponent.prototype, "showDropDownButton", null); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", Boolean), tslib_1.__metadata("design:paramtypes", [Boolean]) ], DxTagBoxComponent.prototype, "showMultiTagOnly", null); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", Boolean), tslib_1.__metadata("design:paramtypes", [Boolean]) ], DxTagBoxComponent.prototype, "showSelectionControls", null); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", String), tslib_1.__metadata("design:paramtypes", [String]) ], DxTagBoxComponent.prototype, "stylingMode", null); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", Number), tslib_1.__metadata("design:paramtypes", [Number]) ], DxTagBoxComponent.prototype, "tabIndex", null); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", Object), tslib_1.__metadata("design:paramtypes", [Object]) ], DxTagBoxComponent.prototype, "tagTemplate", null); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", String), tslib_1.__metadata("design:paramtypes", [String]) ], DxTagBoxComponent.prototype, "text", null); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", Object), tslib_1.__metadata("design:paramtypes", [Object]) ], DxTagBoxComponent.prototype, "validationError", null); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", Array), tslib_1.__metadata("design:paramtypes", [Array]) ], DxTagBoxComponent.prototype, "validationErrors", null); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", String), tslib_1.__metadata("design:paramtypes", [String]) ], DxTagBoxComponent.prototype, "validationMessageMode", null); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", String), tslib_1.__metadata("design:paramtypes", [String]) ], DxTagBoxComponent.prototype, "validationStatus", null); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", Array), tslib_1.__metadata("design:paramtypes", [Array]) ], DxTagBoxComponent.prototype, "value", null); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", Object), tslib_1.__metadata("design:paramtypes", [Object]) ], DxTagBoxComponent.prototype, "valueExpr", null); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", Boolean), tslib_1.__metadata("design:paramtypes", [Boolean]) ], DxTagBoxComponent.prototype, "visible", null); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", Object), tslib_1.__metadata("design:paramtypes", [Object]) ], DxTagBoxComponent.prototype, "width", null); tslib_1.__decorate([ Input(), tslib_1.__metadata("design:type", Boolean), tslib_1.__metadata("design:paramtypes", [Boolean]) ], DxTagBoxComponent.prototype, "wrapItemText", null); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "onChange", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "onClosed", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "onContentReady", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "onCustomItemCreating", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "onDisposing", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "onEnterKey", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "onFocusIn", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "onFocusOut", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "onInitialized", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "onInput", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "onItemClick", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "onKeyDown", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "onKeyPress", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "onKeyUp", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "onMultiTagPreparing", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "onOpened", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "onOptionChanged", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "onSelectAllValueChanged", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "onSelectionChanged", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "onValueChanged", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "acceptCustomValueChange", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "accessKeyChange", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "activeStateEnabledChange", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "applyValueModeChange", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "buttonsChange", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "dataSourceChange", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "deferRenderingChange", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "disabledChange", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "displayExprChange", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "dropDownButtonTemplateChange", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "dropDownOptionsChange", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "elementAttrChange", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "fieldTemplateChange", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "focusStateEnabledChange", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "groupedChange", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "groupTemplateChange", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "heightChange", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "hideSelectedItemsChange", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "hintChange", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "hoverStateEnabledChange", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "inputAttrChange", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "isValidChange", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "itemsChange", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "itemTemplateChange", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "maxDisplayedTagsChange", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "maxLengthChange", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "minSearchLengthChange", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "multilineChange", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "nameChange", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "noDataTextChange", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "openedChange", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "openOnFieldClickChange", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "placeholderChange", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "readOnlyChange", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "rtlEnabledChange", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "searchEnabledChange", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "searchExprChange", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "searchModeChange", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "searchTimeoutChange", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "selectAllModeChange", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "selectedItemsChange", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "showClearButtonChange", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "showDataBeforeSearchChange", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "showDropDownButtonChange", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "showMultiTagOnlyChange", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "showSelectionControlsChange", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "stylingModeChange", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "tabIndexChange", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "tagTemplateChange", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "textChange", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "validationErrorChange", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "validationErrorsChange", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "validationMessageModeChange", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "validationStatusChange", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "valueChange", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "valueExprChange", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "visibleChange", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "widthChange", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "wrapItemTextChange", void 0); tslib_1.__decorate([ Output(), tslib_1.__metadata("design:type", EventEmitter) ], DxTagBoxComponent.prototype, "onBlur", void 0); tslib_1.__decorate([ HostListener('valueChange', ['$event']), tslib_1.__metadata("design:type", Function), tslib_1.__metadata("design:paramtypes", [Object]), tslib_1.__metadata("design:returntype", void 0) ], DxTagBoxComponent.prototype, "change", null); tslib_1.__decorate([ HostListener('onBlur', ['$event']), tslib_1.__metadata("design:type", Object) ], DxTagBoxComponent.prototype, "touched", void 0); tslib_1.__decorate([ ContentChildren(DxiButtonComponent), tslib_1.__metadata("design:type", QueryList), tslib_1.__metadata("design:paramtypes", [Object]) ], DxTagBoxComponent.prototype, "buttonsChildren", null); tslib_1.__decorate([ ContentChildren(DxiItemComponent), tslib_1.__m