UNPKG

@stratio/egeo

Version:
248 lines 16.6 kB
/** * @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