@seniorsistemas/angular-components 17.16.4 → 17.16.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/seniorsistemas-angular-components.umd.js +192 -194
- package/bundles/seniorsistemas-angular-components.umd.js.map +1 -1
- package/bundles/seniorsistemas-angular-components.umd.min.js +2 -2
- package/bundles/seniorsistemas-angular-components.umd.min.js.map +1 -1
- package/components/panel/panel.component.d.ts +2 -2
- package/components/slider/slider.component.d.ts +19 -17
- package/esm2015/components/panel/panel.component.js +7 -7
- package/esm2015/components/slider/slider.component.js +180 -187
- package/esm5/components/panel/panel.component.js +7 -7
- package/esm5/components/slider/slider.component.js +188 -190
- package/fesm2015/seniorsistemas-angular-components.js +185 -192
- package/fesm2015/seniorsistemas-angular-components.js.map +1 -1
- package/fesm5/seniorsistemas-angular-components.js +192 -194
- package/fesm5/seniorsistemas-angular-components.js.map +1 -1
- package/package.json +1 -1
- package/seniorsistemas-angular-components.metadata.json +1 -1
|
@@ -3,14 +3,14 @@ import { BorderButtonOptions } from "../shared";
|
|
|
3
3
|
import { TemplateDirective } from "../template/template.directive";
|
|
4
4
|
import { EnumSeverity } from "../shared/models/enum-severity";
|
|
5
5
|
export declare class PanelComponent implements AfterContentInit {
|
|
6
|
-
templates: QueryList<TemplateDirective>;
|
|
7
6
|
header: string;
|
|
8
|
-
|
|
7
|
+
toggleable: boolean;
|
|
9
8
|
collapsed: boolean;
|
|
10
9
|
severity: EnumSeverity;
|
|
11
10
|
borderButtonOptions: BorderButtonOptions;
|
|
12
11
|
class: string;
|
|
13
12
|
collapsedChange: EventEmitter<boolean>;
|
|
13
|
+
templates: QueryList<TemplateDirective>;
|
|
14
14
|
readonly EnumSeverity: typeof EnumSeverity;
|
|
15
15
|
headerTemplate: TemplateRef<unknown>;
|
|
16
16
|
bodyTemplate: TemplateRef<unknown>;
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import { AfterViewInit, ElementRef, EventEmitter, OnInit } from "@angular/core";
|
|
1
|
+
import { AfterViewInit, ElementRef, EventEmitter, OnChanges, OnInit, SimpleChanges } from "@angular/core";
|
|
2
2
|
import { ControlValueAccessor } from "@angular/forms";
|
|
3
|
-
export declare class SliderComponent implements OnInit, AfterViewInit, ControlValueAccessor {
|
|
3
|
+
export declare class SliderComponent implements OnInit, AfterViewInit, ControlValueAccessor, OnChanges {
|
|
4
|
+
private readonly MAX_RANGE_VALUE;
|
|
5
|
+
private readonly MIN_RANGE_VALUE;
|
|
4
6
|
track: ElementRef;
|
|
5
7
|
multiple: boolean;
|
|
6
8
|
value: number | [number, number];
|
|
@@ -30,18 +32,17 @@ export declare class SliderComponent implements OnInit, AfterViewInit, ControlVa
|
|
|
30
32
|
* @example
|
|
31
33
|
* with min = -10 and max = 10 will have this map.
|
|
32
34
|
* {
|
|
33
|
-
* -10: {
|
|
34
|
-
* -9: {
|
|
35
|
+
* -10: { 0 },
|
|
36
|
+
* -9: { 10 },
|
|
35
37
|
* ...
|
|
36
|
-
* 10: {
|
|
38
|
+
* 10: { 10 }
|
|
37
39
|
* }
|
|
38
|
-
* the left value represent value for startValue, the right value represent value for endValue
|
|
39
|
-
* left and right values are used when applying percentages in the slider
|
|
40
40
|
*/
|
|
41
41
|
private mapRangeValuesForSlider;
|
|
42
42
|
private activeMouseDown;
|
|
43
43
|
private focusActive;
|
|
44
44
|
ngOnInit(): void;
|
|
45
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
45
46
|
ngAfterViewInit(): void;
|
|
46
47
|
onKeydown($event: KeyboardEvent): void;
|
|
47
48
|
get tooltipStartText(): string;
|
|
@@ -69,21 +70,22 @@ export declare class SliderComponent implements OnInit, AfterViewInit, ControlVa
|
|
|
69
70
|
private getPercentageByEvent;
|
|
70
71
|
private setValue;
|
|
71
72
|
private setUserRangeMapValues;
|
|
72
|
-
/**
|
|
73
|
-
* Maps a slider value to a user value in the range [min, max].
|
|
74
|
-
* @example
|
|
75
|
-
* If min = 0 and max = 10, mapSliderToUserRange(25) returns 2.5
|
|
76
|
-
*/
|
|
77
|
-
private mapSliderToUserRange;
|
|
78
73
|
/**
|
|
79
74
|
* Returns the user value from the given slider value by using the map of range values.
|
|
80
75
|
* @example
|
|
81
|
-
* If the map is
|
|
82
|
-
* and the sliderValue is 37, the function returns
|
|
83
|
-
*
|
|
76
|
+
* If the map is 0: { 0 }, 1: { 10 }, 2: { 30 }, 3: { 40 }, 4: { 50 }
|
|
77
|
+
* and the sliderValue is 37, the function returns 3
|
|
78
|
+
* or the slider value is 40, the function returns 4
|
|
79
|
+
* @param sliderValue the value of the slider (values only between range MIN and MAX)
|
|
84
80
|
* @returns the user value from the given slider value
|
|
85
81
|
*/
|
|
86
|
-
private
|
|
82
|
+
private getValueFromMapByValue;
|
|
83
|
+
/**
|
|
84
|
+
* Retrieves the key from the map that is closest to the given slider value.
|
|
85
|
+
* @param userValue - The value to find the closest key for. (values only between 0 - 100)
|
|
86
|
+
* @returns The key that corresponds to the closest mapped value.
|
|
87
|
+
*/
|
|
88
|
+
private getClosestValueFromMapSlider;
|
|
87
89
|
private handleArrowKeyLeft;
|
|
88
90
|
private handleArrowKeyRight;
|
|
89
91
|
private _incrementOrDecrementStartAndEndValue;
|
|
@@ -5,7 +5,7 @@ import { TemplateDirective } from "../template/template.directive";
|
|
|
5
5
|
import { EnumSeverity } from "../shared/models/enum-severity";
|
|
6
6
|
let PanelComponent = class PanelComponent {
|
|
7
7
|
constructor() {
|
|
8
|
-
this.
|
|
8
|
+
this.toggleable = false;
|
|
9
9
|
this.collapsed = false;
|
|
10
10
|
this.severity = EnumSeverity.Default;
|
|
11
11
|
this.collapsedChange = new EventEmitter();
|
|
@@ -37,15 +37,12 @@ let PanelComponent = class PanelComponent {
|
|
|
37
37
|
this.footerTemplate = this.getFooterTemplate();
|
|
38
38
|
}
|
|
39
39
|
};
|
|
40
|
-
__decorate([
|
|
41
|
-
ContentChildren(TemplateDirective)
|
|
42
|
-
], PanelComponent.prototype, "templates", void 0);
|
|
43
40
|
__decorate([
|
|
44
41
|
Input()
|
|
45
42
|
], PanelComponent.prototype, "header", void 0);
|
|
46
43
|
__decorate([
|
|
47
44
|
Input()
|
|
48
|
-
], PanelComponent.prototype, "
|
|
45
|
+
], PanelComponent.prototype, "toggleable", void 0);
|
|
49
46
|
__decorate([
|
|
50
47
|
Input()
|
|
51
48
|
], PanelComponent.prototype, "collapsed", void 0);
|
|
@@ -61,10 +58,13 @@ __decorate([
|
|
|
61
58
|
__decorate([
|
|
62
59
|
Output()
|
|
63
60
|
], PanelComponent.prototype, "collapsedChange", void 0);
|
|
61
|
+
__decorate([
|
|
62
|
+
ContentChildren(TemplateDirective)
|
|
63
|
+
], PanelComponent.prototype, "templates", void 0);
|
|
64
64
|
PanelComponent = __decorate([
|
|
65
65
|
Component({
|
|
66
66
|
selector: "s-panel",
|
|
67
|
-
template: "<div\n class=\"
|
|
67
|
+
template: "<div\n [class]=\"class\"\n [ngClass]=\"{\n 'panel': true,\n 'panel--success': severity === EnumSeverity.Success,\n 'panel--info': severity === EnumSeverity.Info,\n 'panel--warn': severity === EnumSeverity.Warn,\n 'panel--error': severity === EnumSeverity.Error,\n 'panel--collapsed': collapsed\n }\"\n>\n <s-border-button\n *ngIf=\"borderButtonOptions?.visible ? borderButtonOptions?.visible(severity) : false\"\n [severity]=\"severity\"\n [options]=\"borderButtonOptions\"\n class=\"border-button\"\n [@BorderButtonAnimation]\n >\n </s-border-button>\n\n <div class=\"header\">\n <ng-container *ngIf=\"headerTemplate; then customHeaderTemplate; else simpleHeaderTemplate\"></ng-container>\n <ng-template #customHeaderTemplate>\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n </ng-template>\n <ng-template #simpleHeaderTemplate>\n <span>{{ header }}</span>\n </ng-template>\n\n <button\n *ngIf=\"toggleable\"\n class=\"collapse-button fas\"\n [ngClass]=\"{\n 'fa-plus': collapsed,\n 'fa-minus': !collapsed\n }\"\n (click)=\"toggleCollapsed()\"\n ></button>\n </div>\n\n <div *ngIf=\"!toggleable || !collapsed\" class=\"panel-content\">\n <div class=\"body\">\n <ng-content></ng-content>\n <ng-container *ngTemplateOutlet=\"bodyTemplate\"></ng-container>\n </div>\n\n <div *ngIf=\"footerTemplate\" class=\"footer\">\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </div>\n </div>\n</div>\n",
|
|
68
68
|
animations: [
|
|
69
69
|
trigger("BorderButtonAnimation", [
|
|
70
70
|
transition(":enter", [
|
|
@@ -81,4 +81,4 @@ PanelComponent = __decorate([
|
|
|
81
81
|
})
|
|
82
82
|
], PanelComponent);
|
|
83
83
|
export { PanelComponent };
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvcGFuZWwvcGFuZWwuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDMUUsT0FBTyxFQUFvQixTQUFTLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUEwQixNQUFNLGVBQWUsQ0FBQztBQUdsSSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFtQjlELElBQWEsY0FBYyxHQUEzQixNQUFhLGNBQWM7SUFBM0I7UUFLSSxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBR25CLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFHbEIsYUFBUSxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUM7UUFTaEMsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBS3JDLGlCQUFZLEdBQUcsWUFBWSxDQUFDO0lBc0N6QyxDQUFDO0lBOUJHLGtCQUFrQjtRQUNkLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRU8sa0JBQWtCLENBQUMsSUFBWTs7UUFDbkMsYUFBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQTJCLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLDBDQUFFLFFBQVEsQ0FBQztJQUNsRyxDQUFDO0lBRU8saUJBQWlCO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFTyxlQUFlO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFTyxpQkFBaUI7UUFDckIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVPLGFBQWE7UUFDakIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUMvQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUMzQyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQ25ELENBQUM7Q0FDSixDQUFBO0FBN0RHO0lBREMsS0FBSyxFQUFFOzhDQUNPO0FBR2Y7SUFEQyxLQUFLLEVBQUU7a0RBQ1c7QUFHbkI7SUFEQyxLQUFLLEVBQUU7aURBQ1U7QUFHbEI7SUFEQyxLQUFLLEVBQUU7Z0RBQ3dCO0FBR2hDO0lBREMsS0FBSyxFQUFFOzJEQUNpQztBQUd6QztJQURDLEtBQUssRUFBRTs2Q0FDTTtBQUdkO0lBREMsTUFBTSxFQUFFO3VEQUNxQztBQUc5QztJQURDLGVBQWUsQ0FBQyxpQkFBaUIsQ0FBQztpREFDSztBQXZCL0IsY0FBYztJQWpCMUIsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLFNBQVM7UUFDbkIsMHVEQUFxQztRQUVyQyxVQUFVLEVBQUU7WUFDUixPQUFPLENBQUMsdUJBQXVCLEVBQUU7Z0JBQzdCLFVBQVUsQ0FBQyxRQUFRLEVBQUU7b0JBQ2pCLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDO29CQUM3QyxPQUFPLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7aUJBQ3ZFLENBQUM7Z0JBQ0YsVUFBVSxDQUFDLFFBQVEsRUFBRTtvQkFDakIsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUM7b0JBQzdDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztpQkFDdkUsQ0FBQzthQUNMLENBQUM7U0FDTDs7S0FDSixDQUFDO0dBQ1csY0FBYyxDQStEMUI7U0EvRFksY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSBcIkBhbmd1bGFyL2FuaW1hdGlvbnNcIjtcbmltcG9ydCB7IEFmdGVyQ29udGVudEluaXQsIENvbXBvbmVudCwgQ29udGVudENoaWxkcmVuLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFF1ZXJ5TGlzdCwgVGVtcGxhdGVSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5pbXBvcnQgeyBCb3JkZXJCdXR0b25PcHRpb25zIH0gZnJvbSBcIi4uL3NoYXJlZFwiO1xuaW1wb3J0IHsgVGVtcGxhdGVEaXJlY3RpdmUgfSBmcm9tIFwiLi4vdGVtcGxhdGUvdGVtcGxhdGUuZGlyZWN0aXZlXCI7XG5pbXBvcnQgeyBFbnVtU2V2ZXJpdHkgfSBmcm9tIFwiLi4vc2hhcmVkL21vZGVscy9lbnVtLXNldmVyaXR5XCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBcInMtcGFuZWxcIixcbiAgICB0ZW1wbGF0ZVVybDogXCIuL3BhbmVsLmNvbXBvbmVudC5odG1sXCIsXG4gICAgc3R5bGVVcmxzOiBbXCIuL3BhbmVsLmNvbXBvbmVudC5zY3NzXCJdLFxuICAgIGFuaW1hdGlvbnM6IFtcbiAgICAgICAgdHJpZ2dlcihcIkJvcmRlckJ1dHRvbkFuaW1hdGlvblwiLCBbXG4gICAgICAgICAgICB0cmFuc2l0aW9uKFwiOmVudGVyXCIsIFtcbiAgICAgICAgICAgICAgICBzdHlsZSh7IHRyYW5zZm9ybTogXCJzY2FsZVkoMClcIiwgb3BhY2l0eTogMCB9KSxcbiAgICAgICAgICAgICAgICBhbmltYXRlKFwiMzAwbXMgZWFzZVwiLCBzdHlsZSh7IHRyYW5zZm9ybTogXCJzY2FsZVkoMSlcIiwgb3BhY2l0eTogMSB9KSksXG4gICAgICAgICAgICBdKSxcbiAgICAgICAgICAgIHRyYW5zaXRpb24oXCI6bGVhdmVcIiwgW1xuICAgICAgICAgICAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiBcInNjYWxlWSgxKVwiLCBvcGFjaXR5OiAxIH0pLFxuICAgICAgICAgICAgICAgIGFuaW1hdGUoXCIzMDBtcyBlYXNlXCIsIHN0eWxlKHsgdHJhbnNmb3JtOiBcInNjYWxlWSgwKVwiLCBvcGFjaXR5OiAwIH0pKSxcbiAgICAgICAgICAgIF0pLFxuICAgICAgICBdKSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBQYW5lbENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuICAgIEBJbnB1dCgpXG4gICAgaGVhZGVyOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIHRvZ2dsZWFibGUgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgY29sbGFwc2VkID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIHNldmVyaXR5ID0gRW51bVNldmVyaXR5LkRlZmF1bHQ7XG5cbiAgICBASW5wdXQoKVxuICAgIGJvcmRlckJ1dHRvbk9wdGlvbnM6IEJvcmRlckJ1dHRvbk9wdGlvbnM7XG5cbiAgICBASW5wdXQoKVxuICAgIGNsYXNzOiBzdHJpbmc7XG5cbiAgICBAT3V0cHV0KClcbiAgICBjb2xsYXBzZWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICBAQ29udGVudENoaWxkcmVuKFRlbXBsYXRlRGlyZWN0aXZlKVxuICAgIHRlbXBsYXRlczogUXVlcnlMaXN0PFRlbXBsYXRlRGlyZWN0aXZlPjtcblxuICAgIHJlYWRvbmx5IEVudW1TZXZlcml0eSA9IEVudW1TZXZlcml0eTtcblxuICAgIGhlYWRlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICAgIGJvZHlUZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgICBmb290ZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2dldFRlbXBsYXRlcygpO1xuICAgIH1cblxuICAgIHRvZ2dsZUNvbGxhcHNlZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb2xsYXBzZWQgPSAhdGhpcy5jb2xsYXBzZWQ7XG4gICAgICAgIHRoaXMuY29sbGFwc2VkQ2hhbmdlLmVtaXQodGhpcy5jb2xsYXBzZWQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2dldEN1c3RvbVRlbXBsYXRlKHR5cGU6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gdGhpcy50ZW1wbGF0ZXMuZmluZCgodGVtcGxhdGU6IFRlbXBsYXRlRGlyZWN0aXZlKSA9PiB0ZW1wbGF0ZS50eXBlID09PSB0eXBlKT8udGVtcGxhdGU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRIZWFkZXJUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRDdXN0b21UZW1wbGF0ZShcImhlYWRlclwiKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEJvZHlUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRDdXN0b21UZW1wbGF0ZShcImJvZHlcIik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRGb290ZXJUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRDdXN0b21UZW1wbGF0ZShcImZvb3RlclwiKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9nZXRUZW1wbGF0ZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaGVhZGVyVGVtcGxhdGUgPSB0aGlzLmdldEhlYWRlclRlbXBsYXRlKCk7XG4gICAgICAgIHRoaXMuYm9keVRlbXBsYXRlID0gdGhpcy5nZXRCb2R5VGVtcGxhdGUoKTtcbiAgICAgICAgdGhpcy5mb290ZXJUZW1wbGF0ZSA9IHRoaXMuZ2V0Rm9vdGVyVGVtcGxhdGUoKTtcbiAgICB9XG59XG4iXX0=
|