com.phloxui
Version:
PhloxUI Ng2+ Framework
869 lines (868 loc) • 63.3 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
import * as tslib_1 from "tslib";
import { Component, ElementRef, Input, Output, EventEmitter, ViewChild } from '@angular/core';
import { AbstractMultiDropdown } from './AbstractMultiDropdown';
import { NeedFocusService } from '../../../service/NeedFocusService.service';
import { I18N } from '../../../decorator/I18N.decorator';
import { Option } from '../../../decorator/Option.decorator';
import { PhloxAppInfoService } from '../../../service/PhloxAppInfoService.service';
import { MaterialTextBox } from '../../../theme/material/component/dataview/input/MaterialTextBox.component';
var /** @type {?} */ TYPE_NAME = "phx-search-multi-dropdown";
var SearchMultiDropdownList = /** @class */ (function (_super) {
tslib_1.__extends(SearchMultiDropdownList, _super);
function SearchMultiDropdownList(needFocusService, elementRef, phloxAppInfoService) {
var _this = _super.call(this, needFocusService, elementRef, phloxAppInfoService) || this;
_this.elementRef = elementRef;
_this._searchTextClick = false;
_this._searchBtnClick = false;
_this._searchBtnLabel = "Search";
return _this;
}
/**
* @return {?}
*/
SearchMultiDropdownList.prototype.ngOnInit = /**
* @return {?}
*/
function () {
_super.prototype.ngOnInit.call(this);
};
/**
* @param {?} $event
* @return {?}
*/
SearchMultiDropdownList.prototype._doSearch = /**
* @param {?} $event
* @return {?}
*/
function ($event) {
var /** @type {?} */ searchItems;
if (searchItems === null || searchItems === undefined) {
searchItems = [];
}
if (this.mTextBox !== null && this.mTextBox !== undefined) {
var /** @type {?} */ searchText = this.mTextBox.getInputValue() === null || this.mTextBox.getInputValue() === undefined ? "" : this.mTextBox.getInputValue().toString();
searchItems = this.search(searchText);
}
var /** @type {?} */ indexItem = -1;
if (searchItems !== null && searchItems !== undefined && searchItems.length > 0) {
if (searchItems.length >= 1) {
indexItem = this.getItemIndexFromValue(searchItems[0].getValue());
}
}
if (indexItem !== -1) {
var /** @type {?} */ row = $(this.elementRef.nativeElement).find('.phx-search-multi-dropdown > .dropdown-container >.menu.show > ul.menu-item > li:eq(' + (indexItem) + ')');
var /** @type {?} */ offset = $(this.elementRef.nativeElement).find('.phx-search-multi-dropdown > .dropdown-container >.menu.show > ul.menu-item > li').first().position().top;
var /** @type {?} */ table = $(this.elementRef.nativeElement).find('.phx-search-multi-dropdown > .dropdown-container >.menu.show > ul.menu-item');
$(table).scrollTop(($(row).position().top - offset));
}
};
/**
* @param {?} $event
* @return {?}
*/
SearchMultiDropdownList.prototype._onKeyUp = /**
* @param {?} $event
* @return {?}
*/
function ($event) {
if ($event !== null && $event !== undefined) {
if ($event.keyCode == 13) {
this._doSearch($event);
}
}
};
/**
* @param {?} $event
* @return {?}
*/
SearchMultiDropdownList.prototype._onSearchBtnClick = /**
* @param {?} $event
* @return {?}
*/
function ($event) {
this._searchTextClick = false;
this._searchBtnClick = true;
$event.preventDefault();
var /** @type {?} */ val = $(this.elementRef.nativeElement).find("material-text-box").find("input").val();
this.mTextBox.setInputValue(val);
this._doSearch($event);
this._searchBtnClick = false;
};
/**
* @param {?} value
* @return {?}
*/
SearchMultiDropdownList.prototype.search = /**
* @param {?} value
* @return {?}
*/
function (value) {
if (this.searchHandler !== null && this.searchHandler !== undefined) {
return this.searchHandler.search(value, this.items);
}
return [];
};
/**
* @return {?}
*/
SearchMultiDropdownList.prototype.getSearchHandler = /**
* @return {?}
*/
function () {
return this.searchHandler;
};
/**
* @param {?} searchHandler
* @return {?}
*/
SearchMultiDropdownList.prototype.setSearchData = /**
* @param {?} searchHandler
* @return {?}
*/
function (searchHandler) {
this.searchHandler = searchHandler;
};
/**
* @param {?} inputValue
* @param {?} results
* @return {?}
*/
SearchMultiDropdownList.prototype.onValidationEnd = /**
* @param {?} inputValue
* @param {?} results
* @return {?}
*/
function (inputValue, results) {
//! do sthing
};
/**
* @param {?} data
* @param {?} inputVal
* @return {?}
*/
SearchMultiDropdownList.prototype.onDataChange = /**
* @param {?} data
* @param {?} inputVal
* @return {?}
*/
function (data, inputVal) {
};
/**
* @param {?} oldValue
* @param {?} inputVal
* @param {?=} data
* @return {?}
*/
SearchMultiDropdownList.prototype.onDataChangePrevented = /**
* @param {?} oldValue
* @param {?} inputVal
* @param {?=} data
* @return {?}
*/
function (oldValue, inputVal, data) {
this._setData(oldValue, true, null, false);
};
/**
* @param {?} $event
* @return {?}
*/
SearchMultiDropdownList.prototype.onCheckBeforeChange = /**
* @param {?} $event
* @return {?}
*/
function ($event) {
$event.preventDefault();
};
/**
* @param {?} $event
* @return {?}
*/
SearchMultiDropdownList.prototype.onLostFocusing = /**
* @param {?} $event
* @return {?}
*/
function ($event) {
var _this = this;
if (this._itemLostFocusingTimeout !== null && typeof this._itemLostFocusingTimeout !== 'undefined') {
clearTimeout(this._itemLostFocusingTimeout);
this._itemLostFocusingTimeout = null;
}
this._itemLostFocusingTimeout = setTimeout(function () {
if (!_this._isItemClick && !_this._searchTextClick && !_this._searchBtnClick) {
_this.doBlur($event);
_this.needFocusService.resetFocusingComponent($event);
}
else {
_this.doFocus($event);
}
_this._isItemClick = false;
}, 20);
};
/**
* @param {?} $event
* @return {?}
*/
SearchMultiDropdownList.prototype.doFocus = /**
* @param {?} $event
* @return {?}
*/
function ($event) {
if (this._searchTextClick) {
$(this.elementRef.nativeElement).find("material-text-box").focus();
}
else if (this._searchBtnClick) {
$(this.elementRef.nativeElement).find("phx-simple-ripple-btn").focus();
}
else {
$(this.elementRef.nativeElement).find(".dropdown > .label > button").focus();
}
this._searchTextClick = false;
this._searchBtnClick = false;
};
/**
* @param {?} $event
* @return {?}
*/
SearchMultiDropdownList.prototype.doLostFocus = /**
* @param {?} $event
* @return {?}
*/
function ($event) {
var _this = this;
setTimeout(function () {
if (_this._searchTextClick || _this._searchBtnClick || _this._isItemClick) {
_this.doFocus($event);
_this._searchTextClick = false;
_this._searchBtnClick = false;
_this._isItemClick = false;
return;
}
_super.prototype.doLostFocus.call(_this, $event);
}, 20);
};
/**
* @param {?} $event
* @return {?}
*/
SearchMultiDropdownList.prototype.doBlur = /**
* @param {?} $event
* @return {?}
*/
function ($event) {
$(this.elementRef.nativeElement).find(".dropdown > .label > button").blur();
};
/**
* @param {?} $event
* @return {?}
*/
SearchMultiDropdownList.prototype._onBeforeSearchTextFocus = /**
* @param {?} $event
* @return {?}
*/
function ($event) {
this._isItemClick = true;
this._searchTextClick = true;
this._searchBtnClick = false;
$event.preventDefault();
};
/**
* @param {?} $event
* @return {?}
*/
SearchMultiDropdownList.prototype._onBeforeSearchTextLostFocus = /**
* @param {?} $event
* @return {?}
*/
function ($event) {
if (this._isItemClick) {
this._searchTextClick = false;
this._searchBtnClick = false;
}
};
/**
* @return {?}
*/
SearchMultiDropdownList.prototype.getOptions = /**
* @return {?}
*/
function () {
return this.options;
};
/**
* @return {?}
*/
SearchMultiDropdownList.prototype.getItems = /**
* @return {?}
*/
function () {
return this.items;
};
/**
* @return {?}
*/
SearchMultiDropdownList.prototype.getWidth = /**
* @return {?}
*/
function () {
return this.width;
};
/**
* @param {?} width
* @return {?}
*/
SearchMultiDropdownList.prototype.setWidth = /**
* @param {?} width
* @return {?}
*/
function (width) {
this.width = width;
};
/**
* @return {?}
*/
SearchMultiDropdownList.prototype.getHeight = /**
* @return {?}
*/
function () {
return this.height;
};
/**
* @param {?} height
* @return {?}
*/
SearchMultiDropdownList.prototype.setHeight = /**
* @param {?} height
* @return {?}
*/
function (height) {
this.height = height;
};
/**
* @return {?}
*/
SearchMultiDropdownList.prototype.isSearchTextClick = /**
* @return {?}
*/
function () {
return this._searchTextClick;
};
/**
* @param {?} searchTextClick
* @return {?}
*/
SearchMultiDropdownList.prototype.setSearchTextClick = /**
* @param {?} searchTextClick
* @return {?}
*/
function (searchTextClick) {
this._searchTextClick = searchTextClick;
};
/**
* @return {?}
*/
SearchMultiDropdownList.prototype.isSearchBtnClick = /**
* @return {?}
*/
function () {
return this._searchBtnClick;
};
/**
* @param {?} searchBtnClick
* @return {?}
*/
SearchMultiDropdownList.prototype.setSearchBtnClick = /**
* @param {?} searchBtnClick
* @return {?}
*/
function (searchBtnClick) {
this._searchBtnClick = searchBtnClick;
};
/**
* @return {?}
*/
SearchMultiDropdownList.prototype.getSearchBtnLabel = /**
* @return {?}
*/
function () {
return this._searchBtnLabel;
};
/**
* @param {?} searchBtnLabel
* @return {?}
*/
SearchMultiDropdownList.prototype.setSearchBtnLabel = /**
* @param {?} searchBtnLabel
* @return {?}
*/
function (searchBtnLabel) {
this._searchBtnLabel = searchBtnLabel;
};
/**
* @return {?}
*/
SearchMultiDropdownList.prototype.getBeforeClickEvent = /**
* @return {?}
*/
function () {
return this.beforeClickEvent;
};
/**
* @param {?} event
* @return {?}
*/
SearchMultiDropdownList.prototype.setBeforeClickEvent = /**
* @param {?} event
* @return {?}
*/
function (event) {
this.beforeClickEvent = event;
};
/**
* @return {?}
*/
SearchMultiDropdownList.prototype.getClickEvent = /**
* @return {?}
*/
function () {
return this.clickEvent;
};
/**
* @param {?} event
* @return {?}
*/
SearchMultiDropdownList.prototype.setClickEvent = /**
* @param {?} event
* @return {?}
*/
function (event) {
this.clickEvent = event;
};
/**
* @return {?}
*/
SearchMultiDropdownList.prototype.getBeforeShowEvent = /**
* @return {?}
*/
function () {
return this.beforeShowEvent;
};
/**
* @param {?} event
* @return {?}
*/
SearchMultiDropdownList.prototype.setBeforeShowEvent = /**
* @param {?} event
* @return {?}
*/
function (event) {
this.beforeShowEvent = event;
};
/**
* @return {?}
*/
SearchMultiDropdownList.prototype.getShowEvent = /**
* @return {?}
*/
function () {
return this.showEvent;
};
/**
* @param {?} event
* @return {?}
*/
SearchMultiDropdownList.prototype.setShowEvent = /**
* @param {?} event
* @return {?}
*/
function (event) {
this.showEvent = event;
};
/**
* @return {?}
*/
SearchMultiDropdownList.prototype.getBeforeHideEvent = /**
* @return {?}
*/
function () {
return this.beforeHideEvent;
};
/**
* @param {?} event
* @return {?}
*/
SearchMultiDropdownList.prototype.setBeforeHideEvent = /**
* @param {?} event
* @return {?}
*/
function (event) {
this.beforeHideEvent = event;
};
/**
* @return {?}
*/
SearchMultiDropdownList.prototype.getHideEvent = /**
* @return {?}
*/
function () {
return this.hideEvent;
};
/**
* @param {?} event
* @return {?}
*/
SearchMultiDropdownList.prototype.setHideEvent = /**
* @param {?} event
* @return {?}
*/
function (event) {
this.hideEvent = event;
};
/**
* @param {?} $event
* @return {?}
*/
SearchMultiDropdownList.prototype.onMouseDownMenu = /**
* @param {?} $event
* @return {?}
*/
function ($event) {
$event.preventDefault();
};
SearchMultiDropdownList.TYPE_NAME = TYPE_NAME;
SearchMultiDropdownList.decorators = [
{ type: Component, args: [{
moduleId: module.id,
selector: TYPE_NAME,
template: "<div class=\"phx-search-multi-dropdown\" [style.width]=\"getWidth()\" [style.height]=\"getHeight()\">\n\t<div class=\"dropdown-container\">\n\t\t<div class=\"dropdown\">\n\t\t\t<div class=\"label\">\n\t\t\t\t<button type=\"button\" (click)=\"click($event)\" (focusin)=\"onFocusing($event)\" (blur)=\"onLostFocusing($event)\">\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<div class=\"table-wrapper fluid\" *ngIf=\"getSelectedItems() !== null\">\n\t\t\t\t\t\t\t<div class=\"table-cell-wrapper middle\" [style.text-align]=\"getAlign()\">\n\t\t\t\t\t\t\t\t{{getSelectedItems().length}}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<div class=\"table-wrapper fluid\">\n\t\t\t\t\t\t\t<div class=\"table-cell-wrapper middle\">\n\t\t\t\t\t\t\t\t<div class=\"down-triangle\"></div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t</div>\n <div class=\"menu\" (mousedown)=\"onMouseDownMenu($event)\" [class.show]=\"isShow()\" [style.width]=\"getDropdownWidth()\" [style.max-height]=\"getDropdownHeight()\">\n <!-- <div style=\"position: relative;\"> -->\n <div class=\"group-search\">\n <div class=\"col-md-8\">\n <material-text-box #mTextBox (phxBeforeFocus)=\"_onBeforeSearchTextFocus($event)\" (phxBeforeLostFocus)=\"_onBeforeSearchTextLostFocus($event)\"\n\t\t\t\t\t\t (keyup)=\"_onKeyUp($event)\" [options]=\"getOptions()\" [dataParent]=\"this\" [ignoreParentData]=\"true\"></material-text-box>\n </div>\n <div class=\"col-md-4\">\n <phx-simple-ripple-btn (mousedown)=\"_onSearchBtnClick($event)\" [label]=\"_searchBtnLabel\"></phx-simple-ripple-btn>\n </div>\n </div>\n\t\t\t\t<ul class=\"menu-item coa-scroll\">\n <li *ngFor=\"let item of getItems(); let i = index;\" (mousedown)=\"onSelectItemClicked($event, i)\">\n <div>\n <phx-checkbox [data]=\"isIndexSelected(i)\" (phxBeforeChange)=\"onCheckBeforeChange($event)\"></phx-checkbox>\n <div class=\"label-item\">{{item.label}}</div>\n </div>\n \t\t\t</li>\n \t\t</ul>\n <!-- </div> -->\n </div>\n\t</div>\n</div>\n"
},] },
];
/** @nocollapse */
SearchMultiDropdownList.ctorParameters = function () { return [
{ type: NeedFocusService, },
{ type: ElementRef, },
{ type: PhloxAppInfoService, },
]; };
SearchMultiDropdownList.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 },],
"align": [{ type: Input },],
"dropdownWidth": [{ type: Input },],
"dropdownHeight": [{ type: Input },],
"searchHandler": [{ type: Input },],
"width": [{ type: Input },],
"height": [{ type: Input },],
"mTextBox": [{ type: ViewChild, args: ['mTextBox',] },],
"loadEvent": [{ type: Output, args: ['phxLoad',] },],
"startValidateEvent": [{ type: Output, args: ['phxStartValidate',] },],
"endValidateEvent": [{ type: Output, args: ['phxEndValidate',] },],
"beforeFocusEvent": [{ type: Output, args: ['phxBeforeFocus',] },],
"focusEvent": [{ type: Output, args: ['phxFocus',] },],
"beforeLostFocusEvent": [{ type: Output, args: ['phxBeforeLostFocus',] },],
"lostFocusEvent": [{ type: Output, args: ['phxLostFocus',] },],
"beforeChangeEvent": [{ type: Output, args: ['phxBeforeChange',] },],
"changeEvent": [{ type: Output, args: ['phxChange',] },],
"beforeSelectEvent": [{ type: Output, args: ['phxBeforeSelect',] },],
"selectEvent": [{ type: Output, args: ['phxSelect',] },],
"beforeClickEvent": [{ type: Output, args: ['phxBeforeClick',] },],
"clickEvent": [{ type: Output, args: ['phxClick',] },],
"beforeShowEvent": [{ type: Output, args: ['phxBeforeShow',] },],
"showEvent": [{ type: Output, args: ['phxShow',] },],
"beforeHideEvent": [{ type: Output, args: ['phxBeforeHide',] },],
"hideEvent": [{ type: Output, args: ['phxHide',] },],
};
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Object)
], SearchMultiDropdownList.prototype, "dataParent", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], SearchMultiDropdownList.prototype, "ignoreParentData", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Object)
], SearchMultiDropdownList.prototype, "data", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], SearchMultiDropdownList.prototype, "ignoreParentDisabled", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], SearchMultiDropdownList.prototype, "delegateHistory", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Function)
], SearchMultiDropdownList.prototype, "onDisabled", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Function)
], SearchMultiDropdownList.prototype, "onEnabled", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], SearchMultiDropdownList.prototype, "loadingEnabled", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", String)
], SearchMultiDropdownList.prototype, "i18nKey", void 0);
tslib_1.__decorate([
Option('i18nBypass'),
tslib_1.__metadata("design:type", Boolean)
], SearchMultiDropdownList.prototype, "bypass", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], SearchMultiDropdownList.prototype, "disabled", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", String)
], SearchMultiDropdownList.prototype, "field", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", String)
], SearchMultiDropdownList.prototype, "name", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", String)
], SearchMultiDropdownList.prototype, "typeOfData", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], SearchMultiDropdownList.prototype, "readOnly", void 0);
tslib_1.__decorate([
I18N(),
Option(),
tslib_1.__metadata("design:type", Object)
], SearchMultiDropdownList.prototype, "help", void 0);
tslib_1.__decorate([
Option('comparator'),
tslib_1.__metadata("design:type", Object)
], SearchMultiDropdownList.prototype, "dataComparator", void 0);
tslib_1.__decorate([
I18N(),
Option(),
tslib_1.__metadata("design:type", Array)
], SearchMultiDropdownList.prototype, "items", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", String)
], SearchMultiDropdownList.prototype, "align", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", String)
], SearchMultiDropdownList.prototype, "dropdownWidth", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", String)
], SearchMultiDropdownList.prototype, "dropdownHeight", void 0);
tslib_1.__decorate([
Option('searchHandler'),
tslib_1.__metadata("design:type", Object)
], SearchMultiDropdownList.prototype, "searchHandler", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Object)
], SearchMultiDropdownList.prototype, "width", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Object)
], SearchMultiDropdownList.prototype, "height", void 0);
tslib_1.__decorate([
Option('load'),
tslib_1.__metadata("design:type", EventEmitter)
], SearchMultiDropdownList.prototype, "loadEvent", void 0);
tslib_1.__decorate([
Option('startValidate'),
tslib_1.__metadata("design:type", EventEmitter)
], SearchMultiDropdownList.prototype, "startValidateEvent", void 0);
tslib_1.__decorate([
Option('endValidate'),
tslib_1.__metadata("design:type", EventEmitter)
], SearchMultiDropdownList.prototype, "endValidateEvent", void 0);
tslib_1.__decorate([
Option('beforeFocus'),
tslib_1.__metadata("design:type", EventEmitter)
], SearchMultiDropdownList.prototype, "beforeFocusEvent", void 0);
tslib_1.__decorate([
Option('focus'),
tslib_1.__metadata("design:type", EventEmitter)
], SearchMultiDropdownList.prototype, "focusEvent", void 0);
tslib_1.__decorate([
Option('beforeLostFocus'),
tslib_1.__metadata("design:type", EventEmitter)
], SearchMultiDropdownList.prototype, "beforeLostFocusEvent", void 0);
tslib_1.__decorate([
Option('lostFocus'),
tslib_1.__metadata("design:type", EventEmitter)
], SearchMultiDropdownList.prototype, "lostFocusEvent", void 0);
tslib_1.__decorate([
Option('beforeChange'),
tslib_1.__metadata("design:type", EventEmitter)
], SearchMultiDropdownList.prototype, "beforeChangeEvent", void 0);
tslib_1.__decorate([
Option('change'),
tslib_1.__metadata("design:type", EventEmitter)
], SearchMultiDropdownList.prototype, "changeEvent", void 0);
tslib_1.__decorate([
Option('beforeSelect'),
tslib_1.__metadata("design:type", EventEmitter)
], SearchMultiDropdownList.prototype, "beforeSelectEvent", void 0);
tslib_1.__decorate([
Option('select'),
tslib_1.__metadata("design:type", EventEmitter)
], SearchMultiDropdownList.prototype, "selectEvent", void 0);
tslib_1.__decorate([
Option('beforeClick'),
tslib_1.__metadata("design:type", EventEmitter)
], SearchMultiDropdownList.prototype, "beforeClickEvent", void 0);
tslib_1.__decorate([
Option('click'),
tslib_1.__metadata("design:type", EventEmitter)
], SearchMultiDropdownList.prototype, "clickEvent", void 0);
tslib_1.__decorate([
Option('beforeShow'),
tslib_1.__metadata("design:type", EventEmitter)
], SearchMultiDropdownList.prototype, "beforeShowEvent", void 0);
tslib_1.__decorate([
Option('show'),
tslib_1.__metadata("design:type", EventEmitter)
], SearchMultiDropdownList.prototype, "showEvent", void 0);
tslib_1.__decorate([
Option('beforeHide'),
tslib_1.__metadata("design:type", EventEmitter)
], SearchMultiDropdownList.prototype, "beforeHideEvent", void 0);
tslib_1.__decorate([
Option('hide'),
tslib_1.__metadata("design:type", EventEmitter)
], SearchMultiDropdownList.prototype, "hideEvent", void 0);
return SearchMultiDropdownList;
}(AbstractMultiDropdown));
export { SearchMultiDropdownList };
function SearchMultiDropdownList_tsickle_Closure_declarations() {
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
SearchMultiDropdownList.decorators;
/**
* @nocollapse
* @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>}
*/
SearchMultiDropdownList.ctorParameters;
/** @type {!Object<string,!Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
SearchMultiDropdownList.propDecorators;
/** @type {?} */
SearchMultiDropdownList.TYPE_NAME;
/** @type {?} */
SearchMultiDropdownList.prototype.dataParent;
/** @type {?} */
SearchMultiDropdownList.prototype.ignoreParentData;
/** @type {?} */
SearchMultiDropdownList.prototype.data;
/** @type {?} */
SearchMultiDropdownList.prototype.ignoreParentDisabled;
/** @type {?} */
SearchMultiDropdownList.prototype.delegateHistory;
/** @type {?} */
SearchMultiDropdownList.prototype.onDisabled;
/** @type {?} */
SearchMultiDropdownList.prototype.onEnabled;
/** @type {?} */
SearchMultiDropdownList.prototype.loadingEnabled;
/** @type {?} */
SearchMultiDropdownList.prototype.i18nKey;
/** @type {?} */
SearchMultiDropdownList.prototype.bypass;
/** @type {?} */
SearchMultiDropdownList.prototype.options;
/** @type {?} */
SearchMultiDropdownList.prototype.disabled;
/** @type {?} */
SearchMultiDropdownList.prototype.field;
/** @type {?} */
SearchMultiDropdownList.prototype.name;
/** @type {?} */
SearchMultiDropdownList.prototype.typeOfData;
/** @type {?} */
SearchMultiDropdownList.prototype.readOnly;
/** @type {?} */
SearchMultiDropdownList.prototype.help;
/** @type {?} */
SearchMultiDropdownList.prototype.dataComparator;
/** @type {?} */
SearchMultiDropdownList.prototype.items;
/** @type {?} */
SearchMultiDropdownList.prototype.align;
/** @type {?} */
SearchMultiDropdownList.prototype.dropdownWidth;
/** @type {?} */
SearchMultiDropdownList.prototype.dropdownHeight;
/** @type {?} */
SearchMultiDropdownList.prototype.searchHandler;
/** @type {?} */
SearchMultiDropdownList.prototype.width;
/** @type {?} */
SearchMultiDropdownList.prototype.height;
/** @type {?} */
SearchMultiDropdownList.prototype._searchTextClick;
/** @type {?} */
SearchMultiDropdownList.prototype._searchBtnClick;
/** @type {?} */
SearchMultiDropdownList.prototype._searchBtnLabel;
/** @type {?} */
SearchMultiDropdownList.prototype.mTextBox;
/** @type {?} */
SearchMultiDropdownList.prototype.loadEvent;
/** @type {?} */
SearchMultiDropdownList.prototype.startValidateEvent;
/** @type {?} */
SearchMultiDropdownList.prototype.endValidateEvent;
/** @type {?} */
SearchMultiDropdownList.prototype.beforeFocusEvent;
/** @type {?} */
SearchMultiDropdownList.prototype.focusEvent;
/** @type {?} */
SearchMultiDropdownList.prototype.beforeLostFocusEvent;
/** @type {?} */
SearchMultiDropdownList.prototype.lostFocusEvent;
/** @type {?} */
SearchMultiDropdownList.prototype.beforeChangeEvent;
/** @type {?} */
SearchMultiDropdownList.prototype.changeEvent;
/** @type {?} */
SearchMultiDropdownList.prototype.beforeSelectEvent;
/** @type {?} */
SearchMultiDropdownList.prototype.selectEvent;
/** @type {?} */
SearchMultiDropdownList.prototype.beforeClickEvent;
/** @type {?} */
SearchMultiDropdownList.prototype.clickEvent;
/** @type {?} */
SearchMultiDropdownList.prototype.beforeShowEvent;
/** @type {?} */
SearchMultiDropdownList.prototype.showEvent;
/** @type {?} */
SearchMultiDropdownList.prototype.beforeHideEvent;
/** @type {?} */
SearchMultiDropdownList.prototype.hideEvent;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VhcmNoTXVsdGlEcm9wZG93bkxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vY29tLnBobG94dWkvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50L2RhdGF2aWV3L2lucHV0L1NlYXJjaE11bHRpRHJvcGRvd25MaXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUtoRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDekQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBR25GLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0RUFBNEUsQ0FBQztBQUk3RyxxQkFBTSxTQUFTLEdBQVcsMkJBQTJCLENBQUM7O0lBb0RULG1EQUFxQjtJQXlKaEUsaUNBQVksZ0JBQWtDLEVBQUUsVUFBc0IsRUFBRSxtQkFBd0M7UUFBaEgsWUFDRSxrQkFBTSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsbUJBQW1CLENBQUMsU0FNekQ7UUFKQyxLQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixLQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQzlCLEtBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO1FBQzdCLEtBQUksQ0FBQyxlQUFlLEdBQUcsUUFBUSxDQUFDOztLQUNqQzs7OztJQUVNLDBDQUFROzs7O1FBQ2IsaUJBQU0sUUFBUSxXQUFFLENBQUM7Ozs7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QUFDLFlBQVksQ0FBQzswQ0FDTSxZQUFZOzs7UUFFdEMsTUFBTSxDQUFDLE1BQU0sQ0FBQzswQ0FDTSxZQUFZOztrQ0EzTm5DO0VBb0U2QyxxQkFBcUI7U0FBckQsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIEVsZW1lbnRSZWYsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFic3RyYWN0TXVsdGlEcm9wZG93biB9IGZyb20gJy4vQWJzdHJhY3RNdWx0aURyb3Bkb3duJztcclxuaW1wb3J0IHsgVmFsaWRhdGlvblJlc3VsdCB9IGZyb20gJy4uLy4uL21vZGVsL1ZhbGlkYXRpb25SZXN1bHQnO1xyXG5pbXBvcnQgeyBJSGFzRGF0YSB9IGZyb20gJy4uLy4uL0lIYXNEYXRhJztcclxuaW1wb3J0IHsgRGVmYXVsdFNlbGVjdEl0ZW1Nb2RlbCB9IGZyb20gJy4uLy4uL21vZGVsL0RlZmF1bHRTZWxlY3RJdGVtTW9kZWwnO1xyXG5pbXBvcnQgeyBJRGF0YUNvbXBhcmF0b3IgfSBmcm9tICcuLi8uLi9JRGF0YUNvbXBhcmF0b3InO1xyXG5pbXBvcnQgeyBOZWVkRm9jdXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS9OZWVkRm9jdXNTZXJ2aWNlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJMThOIH0gZnJvbSAnLi4vLi4vLi4vZGVjb3JhdG9yL0kxOE4uZGVjb3JhdG9yJztcclxuaW1wb3J0IHsgT3B0aW9uIH0gZnJvbSAnLi4vLi4vLi4vZGVjb3JhdG9yL09wdGlvbi5kZWNvcmF0b3InO1xyXG5pbXBvcnQgeyBQaGxveEFwcEluZm9TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS9QaGxveEFwcEluZm9TZXJ2aWNlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJU2VhcmNoSGFuZGxlciB9IGZyb20gJy4uLy4uL0lTZWFyY2hIYW5kbGVyJztcclxuaW1wb3J0IHsgSVNlbGVjdEl0ZW1Nb2RlbCB9IGZyb20gJy4uLy4uL21vZGVsL0lTZWxlY3RJdGVtTW9kZWwnO1xyXG5pbXBvcnQgeyBNYXRlcmlhbFRleHRCb3ggfSBmcm9tICcuLi8uLi8uLi90aGVtZS9tYXRlcmlhbC9jb21wb25lbnQvZGF0YXZpZXcvaW5wdXQvTWF0ZXJpYWxUZXh0Qm94LmNvbXBvbmVudCc7XHJcblxyXG5kZWNsYXJlIHZhciAkOiBhbnk7XHJcblxyXG5jb25zdCBUWVBFX05BTUU6IHN0cmluZyA9IFwicGh4LXNlYXJjaC1tdWx0aS1kcm9wZG93blwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgbW9kdWxlSWQ6IG1vZHVsZS5pZCxcclxuICBzZWxlY3RvcjogVFlQRV9OQU1FLFxyXG4gIHRlbXBsYXRlOiBgPGRpdiBjbGFzcz1cInBoeC1zZWFyY2gtbXVsdGktZHJvcGRvd25cIiBbc3R5bGUud2lkdGhdPVwiZ2V0V2lkdGgoKVwiIFtzdHlsZS5oZWlnaHRdPVwiZ2V0SGVpZ2h0KClcIj5cclxuXHQ8ZGl2IGNsYXNzPVwiZHJvcGRvd24tY29udGFpbmVyXCI+XHJcblx0XHQ8ZGl2IGNsYXNzPVwiZHJvcGRvd25cIj5cclxuXHRcdFx0PGRpdiBjbGFzcz1cImxhYmVsXCI+XHJcblx0XHRcdFx0PGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImNsaWNrKCRldmVudClcIiAoZm9jdXNpbik9XCJvbkZvY3VzaW5nKCRldmVudClcIiAoYmx1cik9XCJvbkxvc3RGb2N1c2luZygkZXZlbnQpXCI+XHJcblx0XHRcdFx0XHQ8ZGl2PlxyXG5cdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwidGFibGUtd3JhcHBlciBmbHVpZFwiICpuZ0lmPVwiZ2V0U2VsZWN0ZWRJdGVtcygpICE9PSBudWxsXCI+XHJcblx0XHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cInRhYmxlLWNlbGwtd3JhcHBlciBtaWRkbGVcIiBbc3R5bGUudGV4dC1hbGlnbl09XCJnZXRBbGlnbigpXCI+XHJcblx0XHRcdFx0XHRcdFx0XHR7e2dldFNlbGVjdGVkSXRlbXMoKS5sZW5ndGh9fVxyXG5cdFx0XHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdFx0PGRpdj5cclxuXHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cInRhYmxlLXdyYXBwZXIgZmx1aWRcIj5cclxuXHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwidGFibGUtY2VsbC13cmFwcGVyIG1pZGRsZVwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cImRvd24tdHJpYW5nbGVcIj48L2Rpdj5cclxuXHRcdFx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHQ8L2J1dHRvbj5cclxuXHRcdFx0PC9kaXY+XHJcblx0XHQ8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJtZW51XCIgKG1vdXNlZG93bik9XCJvbk1vdXNlRG93bk1lbnUoJGV2ZW50KVwiIFtjbGFzcy5zaG93XT1cImlzU2hvdygpXCIgW3N0eWxlLndpZHRoXT1cImdldERyb3Bkb3duV2lkdGgoKVwiIFtzdHlsZS5tYXgtaGVpZ2h0XT1cImdldERyb3Bkb3duSGVpZ2h0KClcIj5cclxuICAgICAgPCEtLSA8ZGl2IHN0eWxlPVwicG9zaXRpb246IHJlbGF0aXZlO1wiPiAtLT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JvdXAtc2VhcmNoXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLThcIj5cclxuICAgICAgICAgICAgPG1hdGVyaWFsLXRleHQtYm94ICNtVGV4dEJveCAocGh4QmVmb3JlRm9jdXMpPVwiX29uQmVmb3JlU2VhcmNoVGV4dEZvY3VzKCRldmVudClcIiAocGh4QmVmb3JlTG9zdEZvY3VzKT1cIl9vbkJlZm9yZVNlYXJjaFRleHRMb3N0Rm9jdXMoJGV2ZW50KVwiXHJcblx0XHRcdFx0XHRcdCAoa2V5dXApPVwiX29uS2V5VXAoJGV2ZW50KVwiIFtvcHRpb25zXT1cImdldE9wdGlvbnMoKVwiIFtkYXRhUGFyZW50XT1cInRoaXNcIiBbaWdub3JlUGFyZW50RGF0YV09XCJ0cnVlXCI+PC9tYXRlcmlhbC10ZXh0LWJveD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC00XCI+XHJcbiAgICAgICAgICAgIDxwaHgtc2ltcGxlLXJpcHBsZS1idG4gKG1vdXNlZG93bik9XCJfb25TZWFyY2hCdG5DbGljaygkZXZlbnQpXCIgW2xhYmVsXT1cIl9zZWFyY2hCdG5MYWJlbFwiPjwvcGh4LXNpbXBsZS1yaXBwbGUtYnRuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblx0XHRcdFx0PHVsIGNsYXNzPVwibWVudS1pdGVtIGNvYS1zY3JvbGxcIj5cclxuICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBnZXRJdGVtcygpOyBsZXQgaSA9IGluZGV4O1wiIChtb3VzZWRvd24pPVwib25TZWxlY3RJdGVtQ2xpY2tlZCgkZXZlbnQsIGkpXCI+XHJcbiAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgPHBoeC1jaGVja2JveCBbZGF0YV09XCJpc0luZGV4U2VsZWN0ZWQoaSlcIiAocGh4QmVmb3JlQ2hhbmdlKT1cIm9uQ2hlY2tCZWZvcmVDaGFuZ2UoJGV2ZW50KVwiPjwvcGh4LWNoZWNrYm94PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbC1pdGVtXCI+e3tpdGVtLmxhYmVsfX08L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICBcdFx0XHQ8L2xpPlxyXG4gICAgXHRcdDwvdWw+XHJcbiAgICAgIDwhLS0gPC9kaXY+IC0tPlxyXG4gICAgPC9kaXY+XHJcblx0PC9kaXY+XHJcbjwvZGl2PlxyXG5gXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZWFyY2hNdWx0aURyb3Bkb3duTGlzdCBleHRlbmRzIEFic3RyYWN0TXVsdGlEcm9wZG93biBpbXBsZW1lbnRzIE9uSW5pdCwgSVNlYXJjaEhhbmRsZXI8SVNlbGVjdEl0ZW1Nb2RlbD4ge1xyXG5cclxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFRZUEVfTkFNRTogc3RyaW5nID0gVFlQRV9OQU1FO1xyXG5cclxuICAvLyBSZS1kZWNsYXJlIGZpZWxkIHRvIGRlY2xhcmUgbmcgQElucHV0LlxyXG4gIC8vIC0tLSBmcm9tIEFic3RyYWN0SGFzRGF0YVxyXG4gIEBJbnB1dCgpXHJcbiAgQE9wdGlvbigpXHJcbiAgcHJvdGVjdGVkIGRhdGFQYXJlbnQ6IElIYXNEYXRhO1xyXG4gIEBJbnB1dCgpXHJcbiAgQE9wdGlvbigpXHJcbiAgcHJvdGVjdGVkIGlnbm9yZVBhcmVudERhdGE6IGJvb2xlYW47XHJcbiAgQElucHV0KClcclxuICBAT3B0aW9uKClcclxuICBwcm90ZWN0ZWQgZGF0YTogYW55O1xyXG4gIEBJbnB1dCgpXHJcbiAgQE9wdGlvbigpXHJcbiAgcHJvdGVjdGVkIGlnbm9yZVBhcmVudERpc2FibGVkOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpXHJcbiAgQE9wdGlvbigpXHJcbiAgcHJvdGVjdGVkIGRlbGVnYXRlSGlzdG9yeTogYm9vbGVhbjtcclxuICBASW5wdXQoKVxyXG4gIEBPcHRpb24oKVxyXG4gIHByb3RlY3RlZCBvbkRpc2FibGVkOiBGdW5jdGlvbjtcclxuICBASW5wdXQoKVxyXG4gIEBPcHRpb24oKVxyXG4gIHByb3RlY3RlZCBvbkVuYWJsZWQ6IEZ1bmN0aW9uO1xyXG4gIEBJbnB1dCgpXHJcbiAgQE9wdGlvbigpXHJcbiAgcHJvdGVjdGVkIGxvYWRpbmdFbmFibGVkOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpXHJcbiAgQE9wdGlvbigpXHJcbiAgcHJvdGVjdGVkIGkxOG5LZXk6IHN0cmluZztcclxuICBASW5wdXQoJ2kxOG5CeXBhc3MnKVxyXG4gIEBPcHRpb24oJ2kxOG5CeXBhc3MnKVxyXG4gIHByb3RlY3RlZCBieXBhc3M6IGJvb2xlYW47XHJcbiAgQElucHV0KClcclxuICBwcm90ZWN0ZWQgb3B0aW9uczogYW55O1xyXG4gIEBJbnB1dCgpXHJcbiAgQE9wdGlvbigpXHJcbiAgcHJvdGVjdGVkIGRpc2FibGVkOiBib29sZWFuO1xyXG4gIC8vIC0tLSBmcm9tIEFic3RyYWN0RGF0YVZpZXdcclxuICBASW5wdXQoKVxyXG4gIEBPcHRpb24oKVxyXG4gIHByb3RlY3RlZCBmaWVsZDogc3RyaW5nO1xyXG4gIC8vIC0tLSBmcm9tIEFic3RyYWN0SW5wdXREYXRhVmlld1xyXG4gIEBJbnB1dCgpXHJcbiAgQE9wdGlvbigpXHJcbiAgcHJvdGVjdGVkIG5hbWU6IHN0cmluZztcclxuICBASW5wdXQoKVxyXG4gIEBPcHRpb24oKVxyXG4gIHByb3RlY3RlZCB0eXBlT2ZEYXRhOiBzdHJpbmc7XHJcbiAgQElucHV0KClcclxuICBAT3B0aW9uKClcclxuICBwcm90ZWN0ZWQgcmVhZE9ubHk6IGJvb2xlYW47XHJcbiAgQElucHV0KClcclxuICBASTE4TigpXHJcbiAgQE9wdGlvbigpXHJcbiAgcHJvdGVjdGVkIGhlbHA6IGFueTtcclxuICAvLyAtLS0gZnJvbSBBYnN0cmFjdFNlbGVjdEl0ZW1zXHJcbiAgQElucHV0KCdjb21wYXJhdG9yJylcclxuICBAT3B0aW9uKCdjb21wYXJhdG9yJylcclxuICBwcm90ZWN0ZWQgZGF0YUNvbXBhcmF0b3I6IElEYXRhQ29tcGFyYXRvcjxhbnk+O1xyXG4gIEBJbnB1dCgpXHJcbiAgQEkxOE4oKVxyXG4gIEBPcHRpb24oKVxyXG4gIHByb3RlY3RlZCBpdGVtczogRGVmYXVsdFNlbGVjdEl0ZW1Nb2RlbFtdO1xyXG4gIC8vIC0tLSBmcm9tIEFic3RyYWN0TXVsdGlEcm9wZG93blxyXG4gIEBJbnB1dCgpXHJcbiAgQE9wdGlvbigpXHJcbiAgcHJvdGVjdGVkIGFsaWduOiBzdHJpbmc7XHJcbiAgQElucHV0KClcclxuICBAT3B0aW9uKClcclxuICBwcm90ZWN0ZWQgZHJvcGRvd25XaWR0aDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpXHJcbiAgQE9wdGlvbigpXHJcbiAgcHJvdGVjdGVkIGRyb3Bkb3duSGVpZ2h0OiBzdHJpbmc7XHJcbiAgLy8gLS0tIGZyb20gc2VsZlxyXG4gIEBJbnB1dCgpXHJcbiAgQE9wdGlvbignc2VhcmNoSGFuZGxlcicpXHJcbiAgcHJvdGVjdGVkIHNlYXJjaEhhbmRsZXI6IElTZWFyY2hIYW5kbGVyPGFueT47XHJcbiAgQElucHV0KClcclxuICBAT3B0aW9uKClcclxuICBwcm90ZWN0ZWQgd2lkdGg6IGFueTtcclxuICBASW5wdXQoKVxyXG4gIEBPcHRpb24oKVxyXG4gIHByb3RlY3RlZCBoZWlnaHQ6IGFueTtcclxuXHJcbiAgcHJpdmF0ZSBfc2VhcmNoVGV4dENsaWNrOiBib29sZWFuO1xyXG4gIHByaXZhdGUgX3NlYXJjaEJ0bkNsaWNrOi