UNPKG

com.phloxui

Version:

PhloxUI Ng2+ Framework

174 lines (173 loc) 14.3 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ import * as tslib_1 from "tslib"; import { AbstractDataView } from './AbstractDataView'; import { Option } from '../../decorator/Option.decorator'; /** * @abstract */ export class AbstractHasFormatterDataView extends AbstractDataView { /** * @param {?} elementRef * @param {?} formatterFactory */ constructor(elementRef, formatterFactory) { super(elementRef); this.formatterFactory = formatterFactory; this._formatterInited = false; } /** * @return {?} */ get formattedData() { if (!this.formatterUsePropertyValue && this._formatterInited) { return this.getFormattedData(); } else { return this._formattedData; } } /** * @return {?} */ ngOnInit() { super.ngOnInit(); this._formattedData = this.getFormattedData(); this._formatterInited = true; } /** * @return {?} */ isFormatterUsePropertyValue() { return this.formatterUsePropertyValue; } /** * @param {?} formatter * @param {?} data * @return {?} */ static resolveFormattedData(formatter, data) { if (formatter !== null && typeof formatter !== 'undefined') { return formatter.format(data); } return data; } /** * @return {?} */ getFormatterName() { return this.formatterName; } /** * @param {?} formatterName * @return {?} */ setFormatterName(formatterName) { this.formatterName = formatterName; let /** @type {?} */ formatter = null; if (this.formatterFactory !== null && typeof this.formatterFactory !== 'undefined') { formatter = this.formatterFactory.createFormatter(formatterName); } this.formatter = formatter; this.setFormatterOptions(this.formatterOptions); this._formattedData = this.getFormattedData(); } /** * @return {?} */ getFormatterOptions() { return this.formatterOptions; } /** * @param {?} options * @return {?} */ setFormatterOptions(options) { this.formatterOptions = options; if (this.formatter !== null && typeof this.formatter !== 'undefined') { let /** @type {?} */ f = this.formatter; if (typeof f.setOptions === 'function') { f.setOptions(this.formatterOptions); } } } /** * @return {?} */ getFormatter() { return this.formatter; } /** * @param {?} formatter * @return {?} */ setFormatter(formatter) { this.formatter = formatter; if (this.formatter !== null && typeof this.formatter !== 'undefined') { this.formatterName = this.formatter.getName(); } else { this.formatterName = null; } this.setFormatterOptions(this.formatterOptions); this._formattedData = this.getFormattedData(); } /** * @param {?} options * @return {?} */ setOptions(options) { super.setOptions(options); if (this.formatter !== null && typeof this.formatter !== 'undefined') { this.setFormatter(this.formatter); } else if (this.formatterName !== null && typeof this.formatterName !== 'undefined') { this.setFormatterName(this.formatterName); } else { this.formatter = null; this.formatterName = null; } } /** * @return {?} */ getFormattedData() { return AbstractHasFormatterDataView.resolveFormattedData(this.formatter, this.mappedData); } } tslib_1.__decorate([ Option('formatter.name'), tslib_1.__metadata("design:type", String) ], AbstractHasFormatterDataView.prototype, "formatterName", void 0); tslib_1.__decorate([ Option('formatter.options'), tslib_1.__metadata("design:type", Object) ], AbstractHasFormatterDataView.prototype, "formatterOptions", void 0); tslib_1.__decorate([ Option('formatter.instance'), tslib_1.__metadata("design:type", Object) ], AbstractHasFormatterDataView.prototype, "formatter", void 0); tslib_1.__decorate([ Option('formatter.usePropertyValue'), tslib_1.__metadata("design:type", Boolean) ], AbstractHasFormatterDataView.prototype, "formatterUsePropertyValue", void 0); function AbstractHasFormatterDataView_tsickle_Closure_declarations() { /** @type {?} */ AbstractHasFormatterDataView.prototype.formatterName; /** @type {?} */ AbstractHasFormatterDataView.prototype.formatterOptions; /** @type {?} */ AbstractHasFormatterDataView.prototype.formatter; /** @type {?} */ AbstractHasFormatterDataView.prototype.formatterUsePropertyValue; /** @type {?} */ AbstractHasFormatterDataView.prototype.formatterFactory; /** @type {?} */ AbstractHasFormatterDataView.prototype._formattedData; /** @type {?} */ AbstractHasFormatterDataView.prototype._formatterInited; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWJzdHJhY3RIYXNGb3JtYXR0ZXJEYXRhVmlldy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2NvbS5waGxveHVpLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudC9kYXRhdmlldy9BYnN0cmFjdEhhc0Zvcm1hdHRlckRhdGFWaWV3LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHdEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7O0FBRzFELE1BQU0sbUNBQTZDLFNBQVEsZ0JBQWdCOzs7OztJQXNCekUsWUFBWSxVQUFzQixFQUFFLGdCQUFrQztRQUNwRSxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFbEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDO1FBQ3pDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7S0FDL0I7Ozs7UUFiVSxhQUFhO1FBQ3RCLEVBQUUsQ0FBQSxDQUFDLENBQUMsSUFBSSxDQUFDLHlCQUF5QixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBLENBQUM7WUFDM0QsTUFBTSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1NBQ2hDO1FBQUEsSUFBSSxDQUFBLENBQUM7WUFDSixNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQztTQUM1Qjs7Ozs7SUFVSSxRQUFRO1FBQ2IsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRWpCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDOUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQzs7Ozs7SUFHeEIsMkJBQTJCO1FBQ2hDLE1BQU0sQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUM7Ozs7Ozs7SUFHakMsTUFBTSxDQUFDLG9CQUFvQixDQUFDLFNBQXFCLEVBQUUsSUFBUztRQUNqRSxFQUFFLENBQUEsQ0FBQyxTQUFTLEtBQUssSUFBSSxJQUFJLE9BQU8sU0FBUyxLQUFLLFdBQVcsQ0FBQyxDQUFBLENBQUM7WUFDekQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDL0I7UUFDRCxNQUFNLENBQUMsSUFBSSxDQUFDOzs7OztJQUdQLGdCQUFnQjtRQUNyQixNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQzs7Ozs7O0lBR3JCLGdCQUFnQixDQUFDLGFBQXFCO1FBQzNDLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1FBRW5DLHFCQUFJLFNBQVMsR0FBUSxJQUFJLENBQUM7UUFDMUIsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixLQUFLLElBQUksSUFBSSxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDO1lBQ25GLFNBQVMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ2xFO1FBQ0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDM0IsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7Ozs7O0lBR3pDLG1CQUFtQjtRQUN4QixNQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDOzs7Ozs7SUFHeEIsbUJBQW1CLENBQUMsT0FBWTtRQUNyQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDO1FBRWhDLEVBQUUsQ0FBQSxDQUFDLElBQUksQ0FBQyxTQUFTLEtBQUssSUFBSSxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsS0FBSyxXQUFXLENBQUMsQ0FBQSxDQUFDO1lBQ25FLHFCQUFJLENBQUMsR0FBUSxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQzVCLEVBQUUsQ0FBQSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsS0FBSyxVQUFVLENBQUMsQ0FBQSxDQUFDO2dCQUNyQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO2FBQ3JDO1NBQ0Y7Ozs7O0lBR0ksWUFBWTtRQUNqQixNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQzs7Ozs7O0lBR2pCLFlBQVksQ0FBQyxTQUFxQjtRQUN2QyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUUzQixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxLQUFLLElBQUksSUFBSSxPQUFPLElBQUksQ0FBQyxTQUFTLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQztZQUNyRSxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDL0M7UUFBQyxJQUFJLENBQUMsQ0FBQztZQUNOLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1NBQzNCO1FBRUQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7Ozs7OztJQUd6QyxVQUFVLENBQUMsT0FBWTtRQUM1QixLQUFLLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRTFCLEVBQUUsQ0FBQSxDQUFDLElBQUksQ0FBQyxTQUFTLEtBQUssSUFBSSxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsS0FBSyxXQUFXLENBQUMsQ0FBQSxDQUFDO1lBQ25FLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ25DO1FBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQSxDQUFDLElBQUksQ0FBQyxhQUFhLEtBQUssSUFBSSxJQUFJLE9BQU8sSUFBSSxDQUFDLGFBQWEsS0FBSyxXQUFXLENBQUMsQ0FBQSxDQUFDO1lBQ2xGLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDM0M7UUFBQyxJQUFJLENBQUMsQ0FBQztZQUNOLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1NBQzNCOzs7OztJQUdJLGdCQUFnQjtRQUNyQixNQUFNLENBQUMsNEJBQTRCLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7O0NBRTdGOztJQTdHRSxNQUFNLENBQUMsZ0JBQWdCLENBQUM7Ozs7SUFFeEIsTUFBTSxDQUFDLG1CQUFtQixDQUFDOzs7O0lBRTNCLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQzs7OztJQUU1QixNQUFNLENBQUMsNEJBQTRCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPbkluaXQsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0RGF0YVZpZXcgfSBmcm9tICcuL0Fic3RyYWN0RGF0YVZpZXcnO1xuaW1wb3J0IHsgSUhhc0Zvcm1hdHRlciB9IGZyb20gJy4uL0lIYXNGb3JtYXR0ZXInO1xuaW1wb3J0IHsgSUZvcm1hdHRlciB9IGZyb20gJy4uLy4uL3NoYXJlL2Zvcm1hdHRlci9JRm9ybWF0dGVyJztcbmltcG9ydCB7IE9wdGlvbiB9IGZyb20gJy4uLy4uL2RlY29yYXRvci9PcHRpb24uZGVjb3JhdG9yJztcbmltcG9ydCB7IEZvcm1hdHRlckZhY3RvcnkgfSBmcm9tICcuLi8uLi9zZXJ2aWNlL0Zvcm1hdHRlckZhY3Rvcnkuc2VydmljZSc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdEhhc0Zvcm1hdHRlckRhdGFWaWV3IGV4dGVuZHMgQWJzdHJhY3REYXRhVmlldyBpbXBsZW1lbnRzIE9uSW5pdCwgSUhhc0Zvcm1hdHRlciB7XG5cbiAgQE9wdGlvbignZm9ybWF0dGVyLm5hbWUnKVxuICBwcm90ZWN0ZWQgZm9ybWF0dGVyTmFtZTogc3RyaW5nO1xuICBAT3B0aW9uKCdmb3JtYXR0ZXIub3B0aW9ucycpXG4gIHByb3RlY3RlZCBmb3JtYXR0ZXJPcHRpb25zOiBhbnk7XG4gIEBPcHRpb24oJ2Zvcm1hdHRlci5pbnN0YW5jZScpXG4gIHByb3RlY3RlZCBmb3JtYXR0ZXI6IElGb3JtYXR0ZXI7XG4gIEBPcHRpb24oJ2Zvcm1hdHRlci51c2VQcm9wZXJ0eVZhbHVlJylcbiAgcHJvdGVjdGVkIGZvcm1hdHRlclVzZVByb3BlcnR5VmFsdWU6IGJvb2xlYW47XG4gIHByb3RlY3RlZCBmb3JtYXR0ZXJGYWN0b3J5OiBGb3JtYXR0ZXJGYWN0b3J5O1xuICBwcm90ZWN0ZWQgX2Zvcm1hdHRlZERhdGE6IGFueTtcbiAgcHJpdmF0ZSBfZm9ybWF0dGVySW5pdGVkOiBib29sZWFuO1xuXG4gIHB1YmxpYyBnZXQgZm9ybWF0dGVkRGF0YSgpOiBhbnl7XG4gICAgaWYoIXRoaXMuZm9ybWF0dGVyVXNlUHJvcGVydHlWYWx1ZSAmJiB0aGlzLl9mb3JtYXR0ZXJJbml0ZWQpe1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0Rm9ybWF0dGVkRGF0YSgpO1xuICAgIH1lbHNle1xuICAgICAgcmV0dXJuIHRoaXMuX2Zvcm1hdHRlZERhdGE7XG4gICAgfVxuICB9XG5cbiAgY29uc3RydWN0b3IoZWxlbWVudFJlZjogRWxlbWVudFJlZiwgZm9ybWF0dGVyRmFjdG9yeTogRm9ybWF0dGVyRmFjdG9yeSkge1xuICAgIHN1cGVyKGVsZW1lbnRSZWYpO1xuXG4gICAgdGhpcy5mb3JtYXR0ZXJGYWN0b3J5ID0gZm9ybWF0dGVyRmFjdG9yeTtcbiAgICB0aGlzLl9mb3JtYXR0ZXJJbml0ZWQgPSBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuXG4gICAgdGhpcy5fZm9ybWF0dGVkRGF0YSA9IHRoaXMuZ2V0Rm9ybWF0dGVkRGF0YSgpO1xuICAgIHRoaXMuX2Zvcm1hdHRlckluaXRlZCA9IHRydWU7XG4gIH1cblxuICBwdWJsaWMgaXNGb3JtYXR0ZXJVc2VQcm9wZXJ0eVZhbHVlKCk6IGJvb2xlYW57XG4gICAgcmV0dXJuIHRoaXMuZm9ybWF0dGVyVXNlUHJvcGVydHlWYWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgcmVzb2x2ZUZvcm1hdHRlZERhdGEoZm9ybWF0dGVyOiBJRm9ybWF0dGVyLCBkYXRhOiBhbnkpOiBhbnkge1xuICAgIGlmKGZvcm1hdHRlciAhPT0gbnVsbCAmJiB0eXBlb2YgZm9ybWF0dGVyICE9PSAndW5kZWZpbmVkJyl7XG4gICAgICByZXR1cm4gZm9ybWF0dGVyLmZvcm1hdChkYXRhKTtcbiAgICB9XG4gICAgcmV0dXJuIGRhdGE7XG4gIH1cblxuICBwdWJsaWMgZ2V0Rm9ybWF0dGVyTmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmZvcm1hdHRlck5hbWU7XG4gIH1cblxuICBwdWJsaWMgc2V0Rm9ybWF0dGVyTmFtZShmb3JtYXR0ZXJOYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm1hdHRlck5hbWUgPSBmb3JtYXR0ZXJOYW1lO1xuXG4gICAgbGV0IGZvcm1hdHRlcjogYW55ID0gbnVsbDtcbiAgICBpZiAodGhpcy5mb3JtYXR0ZXJGYWN0b3J5ICE9PSBudWxsICYmIHR5cGVvZiB0aGlzLmZvcm1hdHRlckZhY3RvcnkgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICBmb3JtYXR0ZXIgPSB0aGlzLmZvcm1hdHRlckZhY3RvcnkuY3JlYXRlRm9ybWF0dGVyKGZvcm1hdHRlck5hbWUpO1xuICAgIH1cbiAgICB0aGlzLmZvcm1hdHRlciA9IGZvcm1hdHRlcjtcbiAgICB0aGlzLnNldEZvcm1hdHRlck9wdGlvbnModGhpcy5mb3JtYXR0ZXJPcHRpb25zKTtcbiAgICB0aGlzLl9mb3JtYXR0ZWREYXRhID0gdGhpcy5nZXRGb3JtYXR0ZWREYXRhKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Rm9ybWF0dGVyT3B0aW9ucygpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLmZvcm1hdHRlck9wdGlvbnM7XG4gIH1cblxuICBwdWJsaWMgc2V0Rm9ybWF0dGVyT3B0aW9ucyhvcHRpb25zOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm1hdHRlck9wdGlvbnMgPSBvcHRpb25zO1xuXG4gICAgaWYodGhpcy5mb3JtYXR0ZXIgIT09IG51bGwgJiYgdHlwZW9mIHRoaXMuZm9ybWF0dGVyICE9PSAndW5kZWZpbmVkJyl7XG4gICAgICBsZXQgZjogYW55ID0gdGhpcy5mb3JtYXR0ZXI7XG4gICAgICBpZih0eXBlb2YgZi5zZXRPcHRpb25zID09PSAnZnVuY3Rpb24nKXtcbiAgICAgICAgZi5zZXRPcHRpb25zKHRoaXMuZm9ybWF0dGVyT3B0aW9ucyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldEZvcm1hdHRlcigpOiBJRm9ybWF0dGVyIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtYXR0ZXI7XG4gIH1cblxuICBwdWJsaWMgc2V0Rm9ybWF0dGVyKGZvcm1hdHRlcjogSUZvcm1hdHRlcik6IHZvaWQge1xuICAgIHRoaXMuZm9ybWF0dGVyID0gZm9ybWF0dGVyO1xuXG4gICAgaWYgKHRoaXMuZm9ybWF0dGVyICE9PSBudWxsICYmIHR5cGVvZiB0aGlzLmZvcm1hdHRlciAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHRoaXMuZm9ybWF0dGVyTmFtZSA9IHRoaXMuZm9ybWF0dGVyLmdldE5hbWUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mb3JtYXR0ZXJOYW1lID0gbnVsbDtcbiAgICB9XG5cbiAgICB0aGlzLnNldEZvcm1hdHRlck9wdGlvbnModGhpcy5mb3JtYXR0ZXJPcHRpb25zKTtcbiAgICB0aGlzLl9mb3JtYXR0ZWREYXRhID0gdGhpcy5nZXRGb3JtYXR0ZWREYXRhKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0T3B0aW9ucyhvcHRpb25zOiBhbnkpOiB2b2lkIHtcbiAgICBzdXBlci5zZXRPcHRpb25zKG9wdGlvbnMpO1xuXG4gICAgaWYodGhpcy5mb3JtYXR0ZXIgIT09IG51bGwgJiYgdHlwZW9mIHRoaXMuZm9ybWF0dGVyICE9PSAndW5kZWZpbmVkJyl7XG4gICAgICB0aGlzLnNldEZvcm1hdHRlcih0aGlzLmZvcm1hdHRlcik7XG4gICAgfSBlbHNlIGlmKHRoaXMuZm9ybWF0dGVyTmFtZSAhPT0gbnVsbCAmJiB0eXBlb2YgdGhpcy5mb3JtYXR0ZXJOYW1lICE9PSAndW5kZWZpbmVkJyl7XG4gICAgICB0aGlzLnNldEZvcm1hdHRlck5hbWUodGhpcy5mb3JtYXR0ZXJOYW1lKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mb3JtYXR0ZXIgPSBudWxsO1xuICAgICAgdGhpcy5mb3JtYXR0ZXJOYW1lID0gbnVsbDtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0Rm9ybWF0dGVkRGF0YSgpOiBhbnkge1xuICAgIHJldHVybiBBYnN0cmFjdEhhc0Zvcm1hdHRlckRhdGFWaWV3LnJlc29sdmVGb3JtYXR0ZWREYXRhKHRoaXMuZm9ybWF0dGVyLCB0aGlzLm1hcHBlZERhdGEpO1xuICB9XG59XG4iXX0=