@stratio/egeo
Version:
248 lines • 16.6 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: lib/st-checkbox/st-checkbox.component.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/*
* © 2017 Stratio Big Data Inc., Sucursal en España.
*
* This software is licensed under the Apache License, Version 2.0.
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the terms of the License for more details.
*
* SPDX-License-Identifier: Apache-2.0.
*/
import { Component, Input, Output, EventEmitter, forwardRef, ChangeDetectorRef, ChangeDetectionStrategy } from '@angular/core';
import { NG_VALUE_ACCESSOR } from '@angular/forms';
/** @type {?} */
export var CHECKBOX_CONTROL_ACCESSOR = {
provide: NG_VALUE_ACCESSOR,
// tslint:disable-next-line:no-use-before-declare
useExisting: forwardRef((/**
* @return {?}
*/
function () { return StCheckboxComponent; })),
multi: true
};
/**
* \@description {Component} [Checkbox]
*
* The checkbox component represents a custom input of the checkbox type.
*
* \@example
*
* {html}
*
* ```
* <st-checkbox name="option" value="1">
* Option 1
* </st-checkbox>
* ```
*
*/
var StCheckboxComponent = /** @class */ (function () {
function StCheckboxComponent(_changeDetectorRef) {
this._changeDetectorRef = _changeDetectorRef;
/**
* \@Output {{ checked: boolean, value: any }} [change=''] This is emitted when user clicks on the checkbox
*/
this.change = new EventEmitter();
this._checked = false;
this._controlValueAccessorChangeFn = (/**
* @param {?} value
* @return {?}
*/
function (value) { });
this.onTouched = (/**
* @return {?}
*/
function () { });
}
Object.defineProperty(StCheckboxComponent.prototype, "checked", {
/** @Input {boolean} [checked=''] */
get: /**
* \@Input {boolean} [checked='']
* @return {?}
*/
function () {
return this._checked;
},
set: /**
* @param {?} checked
* @return {?}
*/
function (checked) {
if (checked !== this.checked) {
this._checked = checked;
this._changeDetectorRef.markForCheck();
}
},
enumerable: true,
configurable: true
});
Object.defineProperty(StCheckboxComponent.prototype, "labelQaTag", {
get: /**
* @return {?}
*/
function () {
return (this.qaTag || this.name) + '-label';
},
enumerable: true,
configurable: true
});
/**
* @return {?}
*/
StCheckboxComponent.prototype.handleClick = /**
* @return {?}
*/
function () {
if (!this.readonly) {
if (!this.disabled) {
this._checked = !this._checked;
this._controlValueAccessorChangeFn(this._checked);
this.change.emit({ checked: this.checked, value: this.value });
}
}
};
/**
* @param {?} $event
* @return {?}
*/
StCheckboxComponent.prototype.handleChange = /**
* @param {?} $event
* @return {?}
*/
function ($event) {
$event.stopPropagation();
};
/**
* @param {?} value
* @return {?}
*/
StCheckboxComponent.prototype.writeValue = /**
* @param {?} value
* @return {?}
*/
function (value) {
this._checked = value;
this._changeDetectorRef.markForCheck();
};
/**
* @param {?} fn
* @return {?}
*/
StCheckboxComponent.prototype.registerOnChange = /**
* @param {?} fn
* @return {?}
*/
function (fn) {
this._controlValueAccessorChangeFn = fn;
};
/**
* @param {?} fn
* @return {?}
*/
StCheckboxComponent.prototype.registerOnTouched = /**
* @param {?} fn
* @return {?}
*/
function (fn) {
this.onTouched = fn;
};
/**
* @param {?} isDisabled
* @return {?}
*/
StCheckboxComponent.prototype.setDisabledState = /**
* @param {?} isDisabled
* @return {?}
*/
function (isDisabled) {
this.disabled = isDisabled;
this._changeDetectorRef.markForCheck();
};
StCheckboxComponent.decorators = [
{ type: Component, args: [{
selector: 'st-checkbox',
template: "<!--\n\n \u00A9 2017 Stratio Big Data Inc., Sucursal en Espa\u00F1a.\n\n This software is licensed under the Apache License, Version 2.0.\n This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;\n without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n See the terms of the License for more details.\n\n SPDX-License-Identifier: Apache-2.0.\n\n-->\n<label st-label class=\"st-checkbox\" [ngClass]=\"{'disabled' : disabled}\" [attr.id]=\"labelQaTag\" [attr.title]=\"contextualHelp\">\n <div class=\"st-checkbox-container\">\n <input\n type=\"checkbox\"\n [id]=\"qaTag\"\n [name]=\"name\"\n [required]=\"required\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [value]=\"value\"\n [hidden]=\"true\"\n [readonly]=\"readonly\"\n (click)=\"handleClick()\"\n (change)=\"handleChange($event)\" />\n </div>\n <div class=\"custom-checkbox st-checkbox-custom\" [ngClass]=\"{'icon-check2' : checked}\"></div><ng-content></ng-content>\n</label>\n",
providers: [CHECKBOX_CONTROL_ACCESSOR],
changeDetection: ChangeDetectionStrategy.OnPush
}] }
];
/** @nocollapse */
StCheckboxComponent.ctorParameters = function () { return [
{ type: ChangeDetectorRef }
]; };
StCheckboxComponent.propDecorators = {
checked: [{ type: Input }],
name: [{ type: Input }],
qaTag: [{ type: Input }],
disabled: [{ type: Input }],
required: [{ type: Input }],
readonly: [{ type: Input }],
value: [{ type: Input }],
contextualHelp: [{ type: Input }],
change: [{ type: Output }]
};
return StCheckboxComponent;
}());
export { StCheckboxComponent };
if (false) {
/**
* \@Input {boolean} [name=''] This parameter shows the final name of the input
* @type {?}
*/
StCheckboxComponent.prototype.name;
/**
* \@Input {boolean} [qaTag=''] Id value for qa test
* @type {?}
*/
StCheckboxComponent.prototype.qaTag;
/**
* \@Input {boolean} [disabled=''] It allows to disable the input component of the checkbox
* @type {?}
*/
StCheckboxComponent.prototype.disabled;
/**
* \@Input {boolean} [required=''] It converts the component into a mandatory field in a form
* @type {?}
*/
StCheckboxComponent.prototype.required;
/**
* \@Input {boolean} [readonly=''] This parameter disables the checkbox and it can not be modified by the user
* @type {?}
*/
StCheckboxComponent.prototype.readonly;
/**
* \@Input {any} [value=''] The value of the checkbox
* @type {?}
*/
StCheckboxComponent.prototype.value;
/**
* \@Input {string} [contextualHelp=''] Information displayed at a tooltip
* @type {?}
*/
StCheckboxComponent.prototype.contextualHelp;
/**
* \@Output {{ checked: boolean, value: any }} [change=''] This is emitted when user clicks on the checkbox
* @type {?}
*/
StCheckboxComponent.prototype.change;
/**
* @type {?}
* @private
*/
StCheckboxComponent.prototype._checked;
/** @type {?} */
StCheckboxComponent.prototype._controlValueAccessorChangeFn;
/** @type {?} */
StCheckboxComponent.prototype.onTouched;
/**
* @type {?}
* @private
*/
StCheckboxComponent.prototype._changeDetectorRef;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3QtY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHN0cmF0aW8vZWdlby8iLCJzb3VyY2VzIjpbImxpYi9zdC1jaGVja2JveC9zdC1jaGVja2JveC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBVUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0gsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUV6RSxNQUFNLEtBQU8seUJBQXlCLEdBQVE7SUFDM0MsT0FBTyxFQUFFLGlCQUFpQjs7SUFFMUIsV0FBVyxFQUFFLFVBQVU7OztJQUFDLGNBQU0sT0FBQSxtQkFBbUIsRUFBbkIsQ0FBbUIsRUFBQztJQUNsRCxLQUFLLEVBQUUsSUFBSTtDQUNiOzs7Ozs7Ozs7Ozs7Ozs7OztBQWtCRDtJQXNDRyw2QkFDVyxrQkFBcUM7UUFBckMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFtQjs7OztRQUx0QyxXQUFNLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFFdEQsYUFBUSxHQUFZLEtBQUssQ0FBQztRQVFsQyxrQ0FBNkI7Ozs7UUFBeUIsVUFBQyxLQUFLLElBQU8sQ0FBQyxFQUFDO1FBRXJFLGNBQVM7OztRQUFjLGNBQVEsQ0FBQyxFQUFDO0lBSmpDLENBQUM7SUFqQ0Qsc0JBQWEsd0NBQU87UUFEcEIscUNBQXFDOzs7OztRQUNyQztZQUNHLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUN4QixDQUFDOzs7OztRQUVELFVBQVksT0FBZ0I7WUFDekIsSUFBSSxPQUFPLEtBQUssSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDM0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQzthQUN6QztRQUNKLENBQUM7OztPQVBBO0lBcUNELHNCQUFJLDJDQUFVOzs7O1FBQWQ7WUFDRyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsUUFBUSxDQUFDO1FBQy9DLENBQUM7OztPQUFBOzs7O0lBRUQseUNBQVc7OztJQUFYO1FBQ0csSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO2dCQUMvQixJQUFJLENBQUMsNkJBQTZCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUNsRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQzthQUNqRTtTQUNIO0lBQ0osQ0FBQzs7Ozs7SUFFRCwwQ0FBWTs7OztJQUFaLFVBQWEsTUFBYTtRQUN2QixNQUFNLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDNUIsQ0FBQzs7Ozs7SUFFRCx3Q0FBVTs7OztJQUFWLFVBQVcsS0FBVTtRQUNsQixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUMsQ0FBQzs7Ozs7SUFFRCw4Q0FBZ0I7Ozs7SUFBaEIsVUFBaUIsRUFBd0I7UUFDdEMsSUFBSSxDQUFDLDZCQUE2QixHQUFHLEVBQUUsQ0FBQztJQUMzQyxDQUFDOzs7OztJQUVELCtDQUFpQjs7OztJQUFqQixVQUFrQixFQUFPO1FBQ3RCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7Ozs7O0lBRUQsOENBQWdCOzs7O0lBQWhCLFVBQWlCLFVBQW1CO1FBQ2pDLElBQUksQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDO1FBQzNCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQyxDQUFDOztnQkFsRkgsU0FBUyxTQUFDO29CQUNSLFFBQVEsRUFBRSxhQUFhO29CQUN2QixvbkNBQTJDO29CQUMzQyxTQUFTLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztvQkFDdEMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2pEOzs7O2dCQS9CNEQsaUJBQWlCOzs7MEJBbUMxRSxLQUFLO3VCQVdMLEtBQUs7d0JBRUwsS0FBSzsyQkFFTCxLQUFLOzJCQUVMLEtBQUs7MkJBRUwsS0FBSzt3QkFFTCxLQUFLO2lDQUVMLEtBQUs7eUJBRUwsTUFBTTs7SUFrRFYsMEJBQUM7Q0FBQSxBQXBGRCxJQW9GQztTQTdFWSxtQkFBbUI7Ozs7OztJQWE3QixtQ0FBc0I7Ozs7O0lBRXRCLG9DQUF1Qjs7Ozs7SUFFdkIsdUNBQTJCOzs7OztJQUUzQix1Q0FBMkI7Ozs7O0lBRTNCLHVDQUEyQjs7Ozs7SUFFM0Isb0NBQW9COzs7OztJQUVwQiw2Q0FBZ0M7Ozs7O0lBRWhDLHFDQUE4RDs7Ozs7SUFFOUQsdUNBQWtDOztJQVFsQyw0REFBcUU7O0lBRXJFLHdDQUFpQzs7Ozs7SUFQOUIsaURBQTZDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIMKpIDIwMTcgU3RyYXRpbyBCaWcgRGF0YSBJbmMuLCBTdWN1cnNhbCBlbiBFc3Bhw7FhLlxuICpcbiAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMC5cbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7XG4gKiB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLlxuICogU2VlIHRoZSB0ZXJtcyBvZiB0aGUgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wLlxuICovXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgZm9yd2FyZFJlZiwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmV4cG9ydCBjb25zdCBDSEVDS0JPWF9DT05UUk9MX0FDQ0VTU09SOiBhbnkgPSB7XG4gICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby11c2UtYmVmb3JlLWRlY2xhcmVcbiAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFN0Q2hlY2tib3hDb21wb25lbnQpLFxuICAgbXVsdGk6IHRydWVcbn07XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIHtDb21wb25lbnR9IFtDaGVja2JveF1cbiAqXG4gKiBUaGUgY2hlY2tib3ggY29tcG9uZW50IHJlcHJlc2VudHMgYSBjdXN0b20gaW5wdXQgb2YgdGhlIGNoZWNrYm94IHR5cGUuXG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiB7aHRtbH1cbiAqXG4gKiBgYGBcbiAqIDxzdC1jaGVja2JveCBuYW1lPVwib3B0aW9uXCIgdmFsdWU9XCIxXCI+XG4gKiAgICBPcHRpb24gMVxuICogPC9zdC1jaGVja2JveD5cbiAqIGBgYFxuICpcbiAqL1xuQENvbXBvbmVudCh7XG4gICBzZWxlY3RvcjogJ3N0LWNoZWNrYm94JyxcbiAgIHRlbXBsYXRlVXJsOiAnLi9zdC1jaGVja2JveC5jb21wb25lbnQuaHRtbCcsXG4gICBwcm92aWRlcnM6IFtDSEVDS0JPWF9DT05UUk9MX0FDQ0VTU09SXSxcbiAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuXG5leHBvcnQgY2xhc3MgU3RDaGVja2JveENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgIC8qKiBASW5wdXQge2Jvb2xlYW59IFtjaGVja2VkPScnXSAgKi9cbiAgIEBJbnB1dCgpIGdldCBjaGVja2VkKCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHRoaXMuX2NoZWNrZWQ7XG4gICB9XG5cbiAgIHNldCBjaGVja2VkKGNoZWNrZWQ6IGJvb2xlYW4pIHtcbiAgICAgIGlmIChjaGVja2VkICE9PSB0aGlzLmNoZWNrZWQpIHtcbiAgICAgICAgIHRoaXMuX2NoZWNrZWQgPSBjaGVja2VkO1xuICAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICB9XG4gICB9XG4gICAvKiogQElucHV0IHtib29sZWFufSBbbmFtZT0nJ10gVGhpcyBwYXJhbWV0ZXIgc2hvd3MgdGhlIGZpbmFsIG5hbWUgb2YgdGhlIGlucHV0ICovXG4gICBASW5wdXQoKSBuYW1lOiBzdHJpbmc7XG4gICAvKiogQElucHV0IHtib29sZWFufSBbcWFUYWc9JyddIElkIHZhbHVlIGZvciBxYSB0ZXN0ICovXG4gICBASW5wdXQoKSBxYVRhZzogc3RyaW5nO1xuICAgLyoqIEBJbnB1dCB7Ym9vbGVhbn0gW2Rpc2FibGVkPScnXSBJdCBhbGxvd3MgdG8gZGlzYWJsZSB0aGUgaW5wdXQgY29tcG9uZW50IG9mIHRoZSBjaGVja2JveCAqL1xuICAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG4gICAvKiogQElucHV0IHtib29sZWFufSBbcmVxdWlyZWQ9JyddIEl0IGNvbnZlcnRzIHRoZSBjb21wb25lbnQgaW50byBhIG1hbmRhdG9yeSBmaWVsZCBpbiBhIGZvcm0gKi9cbiAgIEBJbnB1dCgpIHJlcXVpcmVkOiBib29sZWFuO1xuICAgLyoqIEBJbnB1dCB7Ym9vbGVhbn0gW3JlYWRvbmx5PScnXSBUaGlzIHBhcmFtZXRlciBkaXNhYmxlcyB0aGUgY2hlY2tib3ggYW5kIGl0IGNhbiBub3QgYmUgbW9kaWZpZWQgYnkgdGhlIHVzZXIgKi9cbiAgIEBJbnB1dCgpIHJlYWRvbmx5OiBib29sZWFuO1xuICAgLyoqIEBJbnB1dCB7YW55fSBbdmFsdWU9JyddIFRoZSB2YWx1ZSBvZiB0aGUgY2hlY2tib3ggKi9cbiAgIEBJbnB1dCgpIHZhbHVlOiBhbnk7XG4gICAvKiogQElucHV0IHtzdHJpbmd9IFtjb250ZXh0dWFsSGVscD0nJ10gSW5mb3JtYXRpb24gZGlzcGxheWVkIGF0IGEgdG9vbHRpcCAqL1xuICAgQElucHV0KCkgY29udGV4dHVhbEhlbHA6IHN0cmluZztcbiAgIC8qKiBAT3V0cHV0IHt7IGNoZWNrZWQ6IGJvb2xlYW4sIHZhbHVlOiBhbnkgfX0gW2NoYW5nZT0nJ10gVGhpcyBpcyBlbWl0dGVkIHdoZW4gdXNlciBjbGlja3Mgb24gdGhlIGNoZWNrYm94ICovXG4gICBAT3V0cHV0KCkgY2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gICBwcml2YXRlIF9jaGVja2VkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgIGNvbnN0cnVjdG9yKFxuICAgICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmXG4gICApIHtcblxuICAgfVxuXG4gICBfY29udHJvbFZhbHVlQWNjZXNzb3JDaGFuZ2VGbjogKHZhbHVlOiBhbnkpID0+IHZvaWQgPSAodmFsdWUpID0+IHsgfTtcblxuICAgb25Ub3VjaGVkOiAoKSA9PiBhbnkgPSAoKSA9PiB7IH07XG5cbiAgIGdldCBsYWJlbFFhVGFnKCk6IHN0cmluZyB7XG4gICAgICByZXR1cm4gKHRoaXMucWFUYWcgfHwgdGhpcy5uYW1lKSArICctbGFiZWwnO1xuICAgfVxuXG4gICBoYW5kbGVDbGljaygpOiB2b2lkIHtcbiAgICAgIGlmICghdGhpcy5yZWFkb25seSkge1xuICAgICAgICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICB0aGlzLl9jaGVja2VkID0gIXRoaXMuX2NoZWNrZWQ7XG4gICAgICAgICAgICB0aGlzLl9jb250cm9sVmFsdWVBY2Nlc3NvckNoYW5nZUZuKHRoaXMuX2NoZWNrZWQpO1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2UuZW1pdCh7IGNoZWNrZWQ6IHRoaXMuY2hlY2tlZCwgdmFsdWU6IHRoaXMudmFsdWUgfSk7XG4gICAgICAgICB9XG4gICAgICB9XG4gICB9XG5cbiAgIGhhbmRsZUNoYW5nZSgkZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICB9XG5cbiAgIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgdGhpcy5fY2hlY2tlZCA9IHZhbHVlO1xuICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICB9XG5cbiAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogYW55KSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICB0aGlzLl9jb250cm9sVmFsdWVBY2Nlc3NvckNoYW5nZUZuID0gZm47XG4gICB9XG5cbiAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gICB9XG5cbiAgIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgIH1cblxufVxuIl19