UNPKG

@noaestudio/forms

Version:

Dynamic forms extension for Covalent

161 lines (151 loc) 14.4 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ import { Component, Input, Output, EventEmitter } from '@angular/core'; import * as moment_ from 'moment'; const /** @type {?} */ moment = moment_; export class InnerDateTimePickerComponent { constructor() { this.label = ''; this.type = undefined; this.required = undefined; this.min = undefined; this.max = undefined; this.format = 24; this.dateTime = null; this.dateValue = null; this.timeValue = ''; this.myModel = null; this.myModelChange = new EventEmitter(); } /** * @return {?} */ ngOnInit() { if (this.myModel) { this.dateTime = this.myModel; this.initValues(); } else { this.dateTime = null; this.myModelChange.emit(this.dateTime); } } /** * @return {?} */ initValues() { this.dateValue = moment.utc(this.dateTime.clone()); this.timeValue = this.dateTime.format('HH:mm'); } /** * @param {?} value * @return {?} */ selectDateValue(value) { if (this.dateTime == null) { this.dateTime = moment.utc(); } this.dateTime.year(value.year()).month(value.month()).date(value.date()); this.myModelChange.emit(this.dateTime); } /** * @param {?} value * @return {?} */ selectTimeValue(value) { let /** @type {?} */ timeMoment = moment.utc(this.timeValue, 'HH:mm'); if (this.dateTime == null) { this.dateTime = moment.utc(); } this.dateTime.hour(timeMoment.hour()).minute(timeMoment.minute()).second(timeMoment.second()); this.myModelChange.emit(this.dateTime); } } InnerDateTimePickerComponent.decorators = [ { type: Component, args: [{ selector: 'date-time-picker', styles: [`.td-dynamic-timepicker-wrapper{-ms-flex-direction:row;flex-direction:row;display:-ms-flexbox;display:flex;box-sizing:border-box}.td-dynamic-timepicker-wrapper .td-dynamic-timepicker-field{-ms-flex:1;flex:1;box-sizing:border-box}.td-dynamic-datepicker-wrapper /deep/ .timeInput,.td-dynamic-datepicker-wrapper /deep/ .timeLabel{font-size:14px!important;background:0 0!important}.td-dynamic-datepicker-wrapper /deep/ .timeLabel{margin-bottom:0}.td-dynamic-datepicker-wrapper /deep/ .mat-icon-button{width:20px;height:20px}.td-dynamic-datepicker-wrapper /deep/ button.mat-icon-button,.td-dynamic-datepicker-wrapper /deep/ button.ngx-material-timepicker-toggle{box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);border-radius:3px!important}.td-dynamic-datepicker-wrapper /deep/ .timeIcon .ngx-material-timepicker-toggle{margin-left:-22px;margin-bottom:8px;padding:3px}.td-dynamic-datepicker-wrapper /deep/ button svg{width:15px!important;height:15px!important}`], template: `<style> .timeLabel { display: block; margin-bottom: 5px; color: rgba(0, 0, 0, 0.54); font-size: 11px; } .timeInput { border: none; border-bottom: 1px solid rgba(0, 0, 0, 0.54); width: 201px; } .timeIcon { display: inline-flex; vertical-align: middle; } </style> <div class="td-dynamic-datepicker-wrapper"> <label>{{label}}</label> <mat-form-field class="td-dynamic-datepicker-field"> <input #elementInput matInput [matDatepicker]="dynamicDatePicker" autocomplete="off" [(ngModel)]="dateValue" (ngModelChange)="selectDateValue($event)" placeholder="Fecha" [required]="required" [min]="min" [max]="max" /> <mat-datepicker-toggle matSuffix [for]="dynamicDatePicker"></mat-datepicker-toggle> <mat-datepicker #dynamicDatePicker></mat-datepicker> </mat-form-field> <div> <div> <label class="timeLabel">Hora</label> <input class="timeInput" [ngxTimepicker]="pickerDT" [(ngModel)]="timeValue" (ngModelChange)="selectTimeValue($event)" [disableClick]="true" readonly [format]="format" [required]="required" autocomplete="off"/> <ngx-material-timepicker-toggle class="timeIcon" [for]="pickerDT"></ngx-material-timepicker-toggle> <ngx-material-timepicker #pickerDT></ngx-material-timepicker> </div> </div> </div> `, },] }, ]; /** @nocollapse */ InnerDateTimePickerComponent.ctorParameters = () => []; InnerDateTimePickerComponent.propDecorators = { "min": [{ type: Input },], "max": [{ type: Input },], "myModel": [{ type: Input },], "myModelChange": [{ type: Output },], }; function InnerDateTimePickerComponent_tsickle_Closure_declarations() { /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */ InnerDateTimePickerComponent.decorators; /** * @nocollapse * @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>} */ InnerDateTimePickerComponent.ctorParameters; /** @type {!Object<string,!Array<{type: !Function, args: (undefined|!Array<?>)}>>} */ InnerDateTimePickerComponent.propDecorators; /** @type {?} */ InnerDateTimePickerComponent.prototype.label; /** @type {?} */ InnerDateTimePickerComponent.prototype.type; /** @type {?} */ InnerDateTimePickerComponent.prototype.required; /** @type {?} */ InnerDateTimePickerComponent.prototype.min; /** @type {?} */ InnerDateTimePickerComponent.prototype.max; /** @type {?} */ InnerDateTimePickerComponent.prototype.format; /** @type {?} */ InnerDateTimePickerComponent.prototype.dateTime; /** @type {?} */ InnerDateTimePickerComponent.prototype.dateValue; /** @type {?} */ InnerDateTimePickerComponent.prototype.timeValue; /** @type {?} */ InnerDateTimePickerComponent.prototype.myModel; /** @type {?} */ InnerDateTimePickerComponent.prototype.myModelChange; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY292YWxlbnQvZHluYW1pYy1mb3Jtcy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvZGF0ZS10aW1lLXBpY2tlci9kYXRlLXRpbWUtcGlja2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUl2RSxPQUFPLEtBQUssT0FBTyxNQUFNLFFBQVEsQ0FBQztBQUNsQyx1QkFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDO0FBcUR2QixNQUFNOztxQkFFVyxFQUFFO29CQUVILFNBQVM7d0JBRUosU0FBUzttQkFHZixTQUFTO21CQUdULFNBQVM7c0JBRUwsRUFBRTt3QkFFRCxJQUFJO3lCQUVGLElBQUk7eUJBQ0osRUFBRTt1QkFFSyxJQUFJOzZCQUNpQixJQUFJLFlBQVksRUFBVTs7Ozs7SUFFM0UsUUFBUTtRQUNQLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ2xCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUM3QixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7U0FDbEI7UUFDRCxJQUFJLENBQUMsQ0FBQztZQUNMLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUN2QztLQUVEOzs7O0lBRU8sVUFBVTtRQUNqQixJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7Ozs7OztJQUdoRCxlQUFlLENBQUMsS0FBYTtRQUM1QixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDM0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUM7U0FDN0I7UUFFRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRXpFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztLQUN2Qzs7Ozs7SUFFRCxlQUFlLENBQUMsS0FBYztRQUM3QixxQkFBSSxVQUFVLEdBQVksTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRTdELEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQztZQUMzQixJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQztTQUM3QjtRQUVELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFFOUYsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0tBQ3ZDOzs7WUFoSEQsU0FBUyxTQUFDO2dCQUNWLFFBQVEsRUFBRSxrQkFBa0I7Z0JBQzVCLE1BQU0sRUFBRSxDQUFDLDIrQkFBMitCLENBQUM7Z0JBQ3IvQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0E4Q1Y7YUFDQTs7Ozs7b0JBU0MsS0FBSztvQkFHTCxLQUFLO3dCQVVMLEtBQUs7OEJBQ0wsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuaW1wb3J0IHsgTW9tZW50IH0gZnJvbSAnbW9tZW50JztcclxuaW1wb3J0ICogYXMgbW9tZW50XyBmcm9tICdtb21lbnQnO1xyXG5jb25zdCBtb21lbnQgPSBtb21lbnRfO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdkYXRlLXRpbWUtcGlja2VyJyxcclxuXHRzdHlsZXM6IFtgLnRkLWR5bmFtaWMtdGltZXBpY2tlci13cmFwcGVyey1tcy1mbGV4LWRpcmVjdGlvbjpyb3c7ZmxleC1kaXJlY3Rpb246cm93O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4O2JveC1zaXppbmc6Ym9yZGVyLWJveH0udGQtZHluYW1pYy10aW1lcGlja2VyLXdyYXBwZXIgLnRkLWR5bmFtaWMtdGltZXBpY2tlci1maWVsZHstbXMtZmxleDoxO2ZsZXg6MTtib3gtc2l6aW5nOmJvcmRlci1ib3h9LnRkLWR5bmFtaWMtZGF0ZXBpY2tlci13cmFwcGVyIC9kZWVwLyAudGltZUlucHV0LC50ZC1keW5hbWljLWRhdGVwaWNrZXItd3JhcHBlciAvZGVlcC8gLnRpbWVMYWJlbHtmb250LXNpemU6MTRweCFpbXBvcnRhbnQ7YmFja2dyb3VuZDowIDAhaW1wb3J0YW50fS50ZC1keW5hbWljLWRhdGVwaWNrZXItd3JhcHBlciAvZGVlcC8gLnRpbWVMYWJlbHttYXJnaW4tYm90dG9tOjB9LnRkLWR5bmFtaWMtZGF0ZXBpY2tlci13cmFwcGVyIC9kZWVwLyAubWF0LWljb24tYnV0dG9ue3dpZHRoOjIwcHg7aGVpZ2h0OjIwcHh9LnRkLWR5bmFtaWMtZGF0ZXBpY2tlci13cmFwcGVyIC9kZWVwLyBidXR0b24ubWF0LWljb24tYnV0dG9uLC50ZC1keW5hbWljLWRhdGVwaWNrZXItd3JhcHBlciAvZGVlcC8gYnV0dG9uLm5neC1tYXRlcmlhbC10aW1lcGlja2VyLXRvZ2dsZXtib3gtc2hhZG93OjAgM3B4IDFweCAtMnB4IHJnYmEoMCwwLDAsLjIpLDAgMnB4IDJweCAwIHJnYmEoMCwwLDAsLjE0KSwwIDFweCA1cHggMCByZ2JhKDAsMCwwLC4xMik7Ym9yZGVyLXJhZGl1czozcHghaW1wb3J0YW50fS50ZC1keW5hbWljLWRhdGVwaWNrZXItd3JhcHBlciAvZGVlcC8gLnRpbWVJY29uIC5uZ3gtbWF0ZXJpYWwtdGltZXBpY2tlci10b2dnbGV7bWFyZ2luLWxlZnQ6LTIycHg7bWFyZ2luLWJvdHRvbTo4cHg7cGFkZGluZzozcHh9LnRkLWR5bmFtaWMtZGF0ZXBpY2tlci13cmFwcGVyIC9kZWVwLyBidXR0b24gc3Zne3dpZHRoOjE1cHghaW1wb3J0YW50O2hlaWdodDoxNXB4IWltcG9ydGFudH1gXSxcclxuXHR0ZW1wbGF0ZTogYDxzdHlsZT5cclxuXHJcbi50aW1lTGFiZWwge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdG1hcmdpbi1ib3R0b206IDVweDtcclxuXHRjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcclxuXHRmb250LXNpemU6IDExcHg7XHJcbn1cclxuXHJcbi50aW1lSW5wdXQge1xyXG5cdGJvcmRlcjogbm9uZTtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuNTQpO1xyXG4gICAgd2lkdGg6IDIwMXB4O1xyXG59XHJcblxyXG4udGltZUljb24ge1xyXG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbn1cclxuXHJcbjwvc3R5bGU+XHJcblxyXG48ZGl2IGNsYXNzPVwidGQtZHluYW1pYy1kYXRlcGlja2VyLXdyYXBwZXJcIj5cclxuXHQ8bGFiZWw+e3tsYWJlbH19PC9sYWJlbD5cclxuXHJcblx0PG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwidGQtZHluYW1pYy1kYXRlcGlja2VyLWZpZWxkXCI+XHJcblx0XHQ8aW5wdXQgI2VsZW1lbnRJbnB1dCBtYXRJbnB1dCBbbWF0RGF0ZXBpY2tlcl09XCJkeW5hbWljRGF0ZVBpY2tlclwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiXHJcblx0XHRcdFsobmdNb2RlbCldPVwiZGF0ZVZhbHVlXCIgKG5nTW9kZWxDaGFuZ2UpPVwic2VsZWN0RGF0ZVZhbHVlKCRldmVudClcIlxyXG5cdFx0XHRwbGFjZWhvbGRlcj1cIkZlY2hhXCIgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCIgW21pbl09XCJtaW5cIiBbbWF4XT1cIm1heFwiXHJcblx0XHQvPlxyXG5cdFx0PG1hdC1kYXRlcGlja2VyLXRvZ2dsZSBtYXRTdWZmaXggW2Zvcl09XCJkeW5hbWljRGF0ZVBpY2tlclwiPjwvbWF0LWRhdGVwaWNrZXItdG9nZ2xlPlxyXG5cdFx0PG1hdC1kYXRlcGlja2VyICNkeW5hbWljRGF0ZVBpY2tlcj48L21hdC1kYXRlcGlja2VyPlxyXG5cclxuXHQ8L21hdC1mb3JtLWZpZWxkPlxyXG5cclxuXHQ8ZGl2PlxyXG5cdFx0PGRpdj5cclxuXHRcdFx0PGxhYmVsIGNsYXNzPVwidGltZUxhYmVsXCI+SG9yYTwvbGFiZWw+XHJcblx0XHRcdDxpbnB1dCBjbGFzcz1cInRpbWVJbnB1dFwiIFtuZ3hUaW1lcGlja2VyXT1cInBpY2tlckRUXCIgWyhuZ01vZGVsKV09XCJ0aW1lVmFsdWVcIiAobmdNb2RlbENoYW5nZSk9XCJzZWxlY3RUaW1lVmFsdWUoJGV2ZW50KVwiXHJcblx0XHRcdFx0W2Rpc2FibGVDbGlja109XCJ0cnVlXCIgcmVhZG9ubHkgW2Zvcm1hdF09XCJmb3JtYXRcIiBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIiBhdXRvY29tcGxldGU9XCJvZmZcIi8+XHJcblx0XHRcdDxuZ3gtbWF0ZXJpYWwtdGltZXBpY2tlci10b2dnbGUgY2xhc3M9XCJ0aW1lSWNvblwiIFtmb3JdPVwicGlja2VyRFRcIj48L25neC1tYXRlcmlhbC10aW1lcGlja2VyLXRvZ2dsZT5cclxuXHRcdFx0PG5neC1tYXRlcmlhbC10aW1lcGlja2VyICNwaWNrZXJEVD48L25neC1tYXRlcmlhbC10aW1lcGlja2VyPlxyXG5cdFx0PC9kaXY+XHJcblx0PC9kaXY+XHJcblxyXG48L2Rpdj5cclxuYCxcclxufSlcclxuZXhwb3J0IGNsYXNzIElubmVyRGF0ZVRpbWVQaWNrZXJDb21wb25lbnQge1xyXG5cclxuXHRsYWJlbDogc3RyaW5nID0gJyc7XHJcblxyXG5cdHR5cGU6IHN0cmluZyA9IHVuZGVmaW5lZDtcclxuXHJcblx0cmVxdWlyZWQ6IGJvb2xlYW4gPSB1bmRlZmluZWQ7XHJcblxyXG5cdEBJbnB1dCgpXHJcblx0bWluOiBudW1iZXIgPSB1bmRlZmluZWQ7XHJcblxyXG5cdEBJbnB1dCgpXHJcblx0bWF4OiBudW1iZXIgPSB1bmRlZmluZWQ7XHJcblxyXG5cdGZvcm1hdCA6IG51bWJlciA9IDI0O1xyXG5cclxuXHRkYXRlVGltZTogTW9tZW50ID0gbnVsbDtcclxuXHJcblx0ZGF0ZVZhbHVlIDogTW9tZW50ID0gbnVsbDtcclxuXHR0aW1lVmFsdWUgOiBzdHJpbmcgPSAnJztcclxuXHJcblx0QElucHV0KCkgbXlNb2RlbCA6IE1vbWVudCA9IG51bGw7XHJcblx0QE91dHB1dCgpIG15TW9kZWxDaGFuZ2UgOiBFdmVudEVtaXR0ZXI8TW9tZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8TW9tZW50PigpO1xyXG5cclxuXHRuZ09uSW5pdCgpIHtcclxuXHRcdGlmICh0aGlzLm15TW9kZWwpIHtcclxuXHRcdFx0dGhpcy5kYXRlVGltZSA9IHRoaXMubXlNb2RlbDtcclxuXHRcdFx0dGhpcy5pbml0VmFsdWVzKCk7XHJcblx0XHR9XHJcblx0XHRlbHNlIHtcclxuXHRcdFx0dGhpcy5kYXRlVGltZSA9IG51bGw7XHJcblx0XHRcdHRoaXMubXlNb2RlbENoYW5nZS5lbWl0KHRoaXMuZGF0ZVRpbWUpO1xyXG5cdFx0fVxyXG5cclxuXHR9XHJcblxyXG5cdHByaXZhdGUgaW5pdFZhbHVlcygpIHtcclxuXHRcdHRoaXMuZGF0ZVZhbHVlID0gbW9tZW50LnV0Yyh0aGlzLmRhdGVUaW1lLmNsb25lKCkpO1xyXG5cdFx0dGhpcy50aW1lVmFsdWUgPSB0aGlzLmRhdGVUaW1lLmZvcm1hdCgnSEg6bW0nKTtcclxuXHR9XHJcblxyXG5cdHNlbGVjdERhdGVWYWx1ZSh2YWx1ZTogTW9tZW50KSB7XHJcblx0XHRpZiAodGhpcy5kYXRlVGltZSA9PSBudWxsKSB7XHJcblx0XHRcdHRoaXMuZGF0ZVRpbWUgPSBtb21lbnQudXRjKCk7XHJcblx0XHR9XHJcblxyXG5cdFx0dGhpcy5kYXRlVGltZS55ZWFyKHZhbHVlLnllYXIoKSkubW9udGgodmFsdWUubW9udGgoKSkuZGF0ZSh2YWx1ZS5kYXRlKCkpO1xyXG5cclxuXHRcdHRoaXMubXlNb2RlbENoYW5nZS5lbWl0KHRoaXMuZGF0ZVRpbWUpO1xyXG5cdH1cclxuXHJcblx0c2VsZWN0VGltZVZhbHVlKHZhbHVlIDogc3RyaW5nKSB7XHJcblx0XHRsZXQgdGltZU1vbWVudCA6IE1vbWVudCA9IG1vbWVudC51dGModGhpcy50aW1lVmFsdWUsJ0hIOm1tJyk7XHJcblxyXG5cdFx0aWYgKHRoaXMuZGF0ZVRpbWUgPT0gbnVsbCkge1xyXG5cdFx0XHR0aGlzLmRhdGVUaW1lID0gbW9tZW50LnV0YygpO1xyXG5cdFx0fVxyXG5cclxuXHRcdHRoaXMuZGF0ZVRpbWUuaG91cih0aW1lTW9tZW50LmhvdXIoKSkubWludXRlKHRpbWVNb21lbnQubWludXRlKCkpLnNlY29uZCh0aW1lTW9tZW50LnNlY29uZCgpKTtcclxuXHJcblx0XHR0aGlzLm15TW9kZWxDaGFuZ2UuZW1pdCh0aGlzLmRhdGVUaW1lKTtcclxuXHR9XHJcblxyXG59XHJcbiJdfQ==