btv-base-controls 0.1.24 → 0.1.25
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/{esm2020 → esm2022}/btv-base-controls.mjs +4 -4
- package/{esm2020 → esm2022}/lib/basic.module.mjs +64 -64
- package/esm2022/lib/blink-message/blink-message.component.mjs +54 -0
- package/{esm2020 → esm2022}/lib/btv-icon-button/btv-counter-button.mjs +47 -47
- package/esm2022/lib/btv-icon-button/btv-icon-button.component.mjs +89 -0
- package/esm2022/lib/btv-progress/btv-progress.component.mjs +71 -0
- package/esm2022/lib/btv-search/btv-search.component.mjs +82 -0
- package/{esm2020 → esm2022}/lib/busy-indicator/busy-indicator.component.mjs +16 -16
- package/{esm2020 → esm2022}/lib/custom-tool-tip/custom-tool-tip.component.mjs +34 -34
- package/esm2022/lib/custom-tool-tip/tool-tip-renderer.directive.mjs +119 -0
- package/{esm2020 → esm2022}/lib/illustration/illustration.component.mjs +17 -17
- package/esm2022/lib/wm-avatar/avatar.component.mjs +175 -0
- package/{esm2020 → esm2022}/lib/wm-back-btn/wm-back-btn.component.mjs +26 -26
- package/{esm2020 → esm2022}/lib/wm-beta-text/wm-beta-text.component.mjs +19 -19
- package/{esm2020 → esm2022}/lib/wm-info/info-models.mjs +13 -13
- package/esm2022/lib/wm-info/wm-info.component.mjs +239 -0
- package/{esm2020 → esm2022}/lib/wm-info-card/wm-info-card.component.mjs +23 -23
- package/{esm2020 → esm2022}/lib/wm-no-content/wm-no-content.component.mjs +30 -30
- package/esm2022/lib/wm-panel-bar/wm-panel-bar.component.mjs +78 -0
- package/esm2022/lib/wm-scalable-div/scalable-div.component.mjs +105 -0
- package/esm2022/lib/wm-spinner/wm-spinner.component.mjs +135 -0
- package/{esm2020 → esm2022}/lib/wm-state-icon/wm-state-icon.component.mjs +18 -18
- package/{esm2020 → esm2022}/lib/wm-tag/wm-tag.component.mjs +28 -28
- package/esm2022/lib/wm-tamplate-image/wm-template-image.component.mjs +71 -0
- package/{esm2020 → esm2022}/lib/wm-toggle/wm-toggle.component.mjs +31 -31
- package/{esm2020 → esm2022}/models/guidExtension.mjs +14 -14
- package/{esm2020 → esm2022}/public-api.mjs +27 -27
- package/{fesm2020 → fesm2022}/btv-base-controls.mjs +1436 -1430
- package/fesm2022/btv-base-controls.mjs.map +1 -0
- package/index.d.ts +5 -5
- package/lib/basic.module.d.ts +33 -33
- package/lib/blink-message/blink-message.component.d.ts +20 -20
- package/lib/btv-icon-button/btv-counter-button.d.ts +12 -12
- package/lib/btv-icon-button/btv-icon-button.component.d.ts +30 -30
- package/lib/btv-progress/btv-progress.component.d.ts +20 -20
- package/lib/btv-search/btv-search.component.d.ts +31 -31
- package/lib/busy-indicator/busy-indicator.component.d.ts +7 -7
- package/lib/custom-tool-tip/custom-tool-tip.component.d.ts +35 -35
- package/lib/custom-tool-tip/tool-tip-renderer.directive.d.ts +49 -49
- package/lib/illustration/illustration.component.d.ts +10 -10
- package/lib/wm-avatar/avatar.component.d.ts +63 -63
- package/lib/wm-back-btn/wm-back-btn.component.d.ts +10 -10
- package/lib/wm-beta-text/wm-beta-text.component.d.ts +7 -7
- package/lib/wm-info/info-models.d.ts +21 -21
- package/lib/wm-info/wm-info.component.d.ts +34 -34
- package/lib/wm-info-card/wm-info-card.component.d.ts +9 -9
- package/lib/wm-no-content/wm-no-content.component.d.ts +11 -11
- package/lib/wm-panel-bar/wm-panel-bar.component.d.ts +25 -25
- package/lib/wm-scalable-div/scalable-div.component.d.ts +24 -24
- package/lib/wm-spinner/wm-spinner.component.d.ts +37 -37
- package/lib/wm-state-icon/wm-state-icon.component.d.ts +9 -9
- package/lib/wm-tag/wm-tag.component.d.ts +10 -10
- package/lib/wm-tamplate-image/wm-template-image.component.d.ts +49 -49
- package/lib/wm-toggle/wm-toggle.component.d.ts +11 -11
- package/models/guidExtension.d.ts +5 -5
- package/package.json +5 -11
- package/public-api.d.ts +24 -24
- package/esm2020/lib/blink-message/blink-message.component.mjs +0 -54
- package/esm2020/lib/btv-icon-button/btv-icon-button.component.mjs +0 -89
- package/esm2020/lib/btv-progress/btv-progress.component.mjs +0 -71
- package/esm2020/lib/btv-search/btv-search.component.mjs +0 -82
- package/esm2020/lib/custom-tool-tip/tool-tip-renderer.directive.mjs +0 -113
- package/esm2020/lib/wm-avatar/avatar.component.mjs +0 -175
- package/esm2020/lib/wm-info/wm-info.component.mjs +0 -239
- package/esm2020/lib/wm-panel-bar/wm-panel-bar.component.mjs +0 -78
- package/esm2020/lib/wm-scalable-div/scalable-div.component.mjs +0 -105
- package/esm2020/lib/wm-spinner/wm-spinner.component.mjs +0 -135
- package/esm2020/lib/wm-tamplate-image/wm-template-image.component.mjs +0 -71
- package/fesm2015/btv-base-controls.mjs +0 -1482
- package/fesm2015/btv-base-controls.mjs.map +0 -1
- package/fesm2020/btv-base-controls.mjs.map +0 -1
|
@@ -1,239 +0,0 @@
|
|
|
1
|
-
import { ConnectionPositionPair } from '@angular/cdk/overlay';
|
|
2
|
-
import { TemplatePortal } from '@angular/cdk/portal';
|
|
3
|
-
import { Component, Input, ChangeDetectionStrategy } from '@angular/core';
|
|
4
|
-
import { InfoType } from './info-models';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/cdk/overlay";
|
|
7
|
-
import * as i2 from "@angular/common";
|
|
8
|
-
import * as i3 from "../wm-tamplate-image/wm-template-image.component";
|
|
9
|
-
const DEFAULT_TOOLTIP_POSITIONS = ['bottom-right', 'bottom-center', 'bottom-left', 'top-right', 'top-center', 'top-left'];
|
|
10
|
-
export class WmInfoComponent {
|
|
11
|
-
constructor(_overlay, _elementRef, viewContainerRef) {
|
|
12
|
-
this._overlay = _overlay;
|
|
13
|
-
this._elementRef = _elementRef;
|
|
14
|
-
this.viewContainerRef = viewContainerRef;
|
|
15
|
-
this.preText = '';
|
|
16
|
-
this.postText = '';
|
|
17
|
-
this.type = InfoType.Error;
|
|
18
|
-
this.popupPosition = 'bottom-right';
|
|
19
|
-
this.useThemeForIconTemplate = false;
|
|
20
|
-
this.defaultIconSize = 24;
|
|
21
|
-
this.smallIconSize = 16;
|
|
22
|
-
this.positionBottom = true;
|
|
23
|
-
this.positionLeft = true;
|
|
24
|
-
this.currentPositions = DEFAULT_TOOLTIP_POSITIONS;
|
|
25
|
-
}
|
|
26
|
-
get imageSize() {
|
|
27
|
-
return (this.smallIcon ? this.smallIconSize : this.defaultIconSize) + 'px';
|
|
28
|
-
}
|
|
29
|
-
togglePopup(template) {
|
|
30
|
-
if (this._overlayRef) {
|
|
31
|
-
this.closePopup();
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
this.openPopup(template);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
openPopup(template) {
|
|
38
|
-
this.closePopup(); // close any old ones.
|
|
39
|
-
const positionPairs = this.currentPositions.map(position => {
|
|
40
|
-
const data = this.checkPopupPosition(position);
|
|
41
|
-
const vertClass = data.arrow.bottom ? 'info-bottom' : 'info-top';
|
|
42
|
-
const horClass = data.arrow.left ? 'info-left' : 'info-right';
|
|
43
|
-
return new ConnectionPositionPair({ originX: data.origin.originX, originY: data.origin.originY }, { overlayX: data.overlay.overlayX, overlayY: data.overlay.overlayY }, 0, 0, ['info-popup-wrapper', vertClass, horClass]);
|
|
44
|
-
});
|
|
45
|
-
const positionStrategy = this._overlay.position()
|
|
46
|
-
.flexibleConnectedTo(this._elementRef)
|
|
47
|
-
.withPositions(positionPairs)
|
|
48
|
-
.withFlexibleDimensions(true)
|
|
49
|
-
.withPush(true);
|
|
50
|
-
this._overlayRef = this._overlay.create({
|
|
51
|
-
panelClass: ['mat-tooltip-panel', 'modal', 'is-active'],
|
|
52
|
-
hasBackdrop: true,
|
|
53
|
-
backdropClass: 'modal-background',
|
|
54
|
-
scrollStrategy: this._overlay.scrollStrategies.reposition(),
|
|
55
|
-
positionStrategy
|
|
56
|
-
});
|
|
57
|
-
if (this._overlayRef && !this._overlayRef.hasAttached()) {
|
|
58
|
-
this._overlayRef.attach(new TemplatePortal(template, this.viewContainerRef));
|
|
59
|
-
this._overlayRef.backdropClick().subscribe(() => this.closePopup());
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
closePopup() {
|
|
63
|
-
if (this._overlayRef) {
|
|
64
|
-
this._overlayRef.detach();
|
|
65
|
-
this._overlayRef = undefined;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
ngOnInit() {
|
|
69
|
-
if (this.popupPosition !== DEFAULT_TOOLTIP_POSITIONS[0]) {
|
|
70
|
-
const otherPositions = [];
|
|
71
|
-
const filteredByFirstPosition = DEFAULT_TOOLTIP_POSITIONS
|
|
72
|
-
.filter((item) => {
|
|
73
|
-
if (item === this.popupPosition)
|
|
74
|
-
return false;
|
|
75
|
-
if (item.startsWith(this.popupPosition.split('-')[0])) {
|
|
76
|
-
return true;
|
|
77
|
-
}
|
|
78
|
-
else {
|
|
79
|
-
otherPositions.push(item);
|
|
80
|
-
return false;
|
|
81
|
-
}
|
|
82
|
-
});
|
|
83
|
-
this.currentPositions = [this.popupPosition].concat(filteredByFirstPosition).concat(otherPositions);
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
getIconName() {
|
|
87
|
-
switch (this.type) {
|
|
88
|
-
case InfoType.Error:
|
|
89
|
-
return 'error';
|
|
90
|
-
case InfoType.Warning:
|
|
91
|
-
return 'warning';
|
|
92
|
-
case InfoType.TabError:
|
|
93
|
-
return 'bo-error';
|
|
94
|
-
case InfoType.TabWarning:
|
|
95
|
-
return 'bo-warning';
|
|
96
|
-
case InfoType.InfoSmall:
|
|
97
|
-
return 'info-s';
|
|
98
|
-
case InfoType.Filtered:
|
|
99
|
-
return 'filter';
|
|
100
|
-
case InfoType.InlineDetails:
|
|
101
|
-
return 'eye-pick';
|
|
102
|
-
case InfoType.SubNavPanel:
|
|
103
|
-
this.smallIcon = true;
|
|
104
|
-
return 'sub-nav-warning';
|
|
105
|
-
case InfoType.InfoGold:
|
|
106
|
-
return 'info-gold';
|
|
107
|
-
default:
|
|
108
|
-
return 'info';
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
ngOnDestroy() {
|
|
112
|
-
this.closePopup();
|
|
113
|
-
}
|
|
114
|
-
checkPopupPosition(value) {
|
|
115
|
-
let currentPosition;
|
|
116
|
-
switch (value) {
|
|
117
|
-
case 'bottom-left':
|
|
118
|
-
currentPosition = {
|
|
119
|
-
origin: {
|
|
120
|
-
originX: 'end',
|
|
121
|
-
originY: 'bottom'
|
|
122
|
-
},
|
|
123
|
-
overlay: {
|
|
124
|
-
overlayX: 'end',
|
|
125
|
-
overlayY: 'top'
|
|
126
|
-
},
|
|
127
|
-
arrow: {
|
|
128
|
-
bottom: true,
|
|
129
|
-
left: true,
|
|
130
|
-
}
|
|
131
|
-
};
|
|
132
|
-
break;
|
|
133
|
-
case 'top-right':
|
|
134
|
-
currentPosition = {
|
|
135
|
-
origin: {
|
|
136
|
-
originX: 'start',
|
|
137
|
-
originY: 'top',
|
|
138
|
-
},
|
|
139
|
-
overlay: {
|
|
140
|
-
overlayX: 'start',
|
|
141
|
-
overlayY: 'bottom',
|
|
142
|
-
},
|
|
143
|
-
arrow: {
|
|
144
|
-
bottom: false,
|
|
145
|
-
left: true,
|
|
146
|
-
}
|
|
147
|
-
};
|
|
148
|
-
break;
|
|
149
|
-
case 'top-left':
|
|
150
|
-
currentPosition = {
|
|
151
|
-
origin: {
|
|
152
|
-
originX: 'end',
|
|
153
|
-
originY: 'top',
|
|
154
|
-
},
|
|
155
|
-
overlay: {
|
|
156
|
-
overlayX: 'end',
|
|
157
|
-
overlayY: 'bottom',
|
|
158
|
-
},
|
|
159
|
-
arrow: {
|
|
160
|
-
bottom: false,
|
|
161
|
-
left: false,
|
|
162
|
-
}
|
|
163
|
-
};
|
|
164
|
-
break;
|
|
165
|
-
case 'top-center':
|
|
166
|
-
currentPosition = {
|
|
167
|
-
origin: {
|
|
168
|
-
originX: 'center',
|
|
169
|
-
originY: 'top',
|
|
170
|
-
},
|
|
171
|
-
overlay: {
|
|
172
|
-
overlayX: 'center',
|
|
173
|
-
overlayY: 'bottom',
|
|
174
|
-
},
|
|
175
|
-
arrow: {
|
|
176
|
-
bottom: false,
|
|
177
|
-
left: true,
|
|
178
|
-
}
|
|
179
|
-
};
|
|
180
|
-
break;
|
|
181
|
-
case 'bottom-center':
|
|
182
|
-
currentPosition = {
|
|
183
|
-
origin: {
|
|
184
|
-
originX: 'center',
|
|
185
|
-
originY: 'bottom',
|
|
186
|
-
},
|
|
187
|
-
overlay: {
|
|
188
|
-
overlayX: 'center',
|
|
189
|
-
overlayY: 'top',
|
|
190
|
-
},
|
|
191
|
-
arrow: {
|
|
192
|
-
bottom: true,
|
|
193
|
-
left: true,
|
|
194
|
-
}
|
|
195
|
-
};
|
|
196
|
-
break;
|
|
197
|
-
case 'bottom-right':
|
|
198
|
-
default:
|
|
199
|
-
currentPosition = {
|
|
200
|
-
origin: {
|
|
201
|
-
originX: 'start',
|
|
202
|
-
originY: 'bottom',
|
|
203
|
-
},
|
|
204
|
-
overlay: {
|
|
205
|
-
overlayX: 'start',
|
|
206
|
-
overlayY: 'top',
|
|
207
|
-
},
|
|
208
|
-
arrow: {
|
|
209
|
-
bottom: true,
|
|
210
|
-
left: false,
|
|
211
|
-
}
|
|
212
|
-
};
|
|
213
|
-
}
|
|
214
|
-
return currentPosition;
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
WmInfoComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: WmInfoComponent, deps: [{ token: i1.Overlay }, { token: i0.ElementRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
218
|
-
WmInfoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: WmInfoComponent, selector: "wm-info", inputs: { preText: "preText", postText: "postText", header: "header", type: "type", popupPosition: "popupPosition", iconAsTemplate: "iconAsTemplate", useThemeForIconTemplate: "useThemeForIconTemplate", smallIcon: "smallIcon" }, ngImport: i0, template: "<ng-template #popupTemplate>\r\n <div class=\"u-arrow\">\r\n </div>\r\n <div class=\"u-info-content\" [ngClass]=\"{'p-error': type === 0, 'p-warning': type === 1, 'p-info': type === 2}\">\r\n <span *ngIf=\"header\" [innerHTML]=\"header\"></span>\r\n <ng-content></ng-content>\r\n </div>\r\n</ng-template>\r\n <div class=\"info-wrap flex-row\" [ngClass]=\"{'p-error': type === 0, 'p-warning': type === 1, 'p-info': type === 2}\">\r\n <span class=\"info-label\" *ngIf=\"preText\">{{preText}}</span>\r\n <span class=\"info-icon\" (click)=\"togglePopup(popupTemplate)\">\r\n <wm-template-image *ngIf=\"iconAsTemplate\" [icon]=\"getIconName()\" [size]=\"imageSize\"\r\n [active]=\"useThemeForIconTemplate\">\r\n </wm-template-image>\r\n <img *ngIf=\"!iconAsTemplate\" [attr.width]=\"imageSize\" [attr.height]=\"imageSize\"\r\n src=\"{{'./assets/icon/svg/' + getIconName() + '.svg'}}\" alt=\"{{getIconName()}}\" />\r\n </span>\r\n <span class=\"info-label\" *ngIf=\"postText\">{{postText}}</span>\r\n </div> ", styles: ["@media print{body{all:unset!important}.wm-page{margin:0!important;display:block!important}.not-printable{display:none!important}*{visibility:hidden}.printable,.printable *{visibility:visible!important}}.info-wrap{justify-content:flex-start;align-items:center;height:100%;text-align:center}.info-label{display:inline-block;color:inherit;font-size:14px}.info-icon{cursor:pointer}.info-left{margin-left:-10px;align-items:flex-start}.info-right{align-items:flex-end}.u-arrow{margin-left:4px;margin-right:4px}.u-info-content{color:var(--infoColor);text-align:left;font-size:14px;font-weight:400;max-width:50vw;white-space:normal;word-wrap:break-word;word-break:break-word;background:var(--pageBackgroundColor);overflow-x:hidden;overflow-y:auto;border-color:var(--secondaryHover);border-radius:4px;padding:16px;box-shadow:0 16px 16px -1px #051d391a}.u-info-content::-webkit-scrollbar{width:4px}.p-error{color:var(--dangerColor)}.p-warning{color:var(--warningColor)}.p-info{color:var(--brandColor)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.WmTemplateImageComponent, selector: "wm-template-image", inputs: ["icon", "disabled", "active", "light", "classes", "backgroundColor", "size", "sizeBox"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
219
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: WmInfoComponent, decorators: [{
|
|
220
|
-
type: Component,
|
|
221
|
-
args: [{ selector: 'wm-info', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #popupTemplate>\r\n <div class=\"u-arrow\">\r\n </div>\r\n <div class=\"u-info-content\" [ngClass]=\"{'p-error': type === 0, 'p-warning': type === 1, 'p-info': type === 2}\">\r\n <span *ngIf=\"header\" [innerHTML]=\"header\"></span>\r\n <ng-content></ng-content>\r\n </div>\r\n</ng-template>\r\n <div class=\"info-wrap flex-row\" [ngClass]=\"{'p-error': type === 0, 'p-warning': type === 1, 'p-info': type === 2}\">\r\n <span class=\"info-label\" *ngIf=\"preText\">{{preText}}</span>\r\n <span class=\"info-icon\" (click)=\"togglePopup(popupTemplate)\">\r\n <wm-template-image *ngIf=\"iconAsTemplate\" [icon]=\"getIconName()\" [size]=\"imageSize\"\r\n [active]=\"useThemeForIconTemplate\">\r\n </wm-template-image>\r\n <img *ngIf=\"!iconAsTemplate\" [attr.width]=\"imageSize\" [attr.height]=\"imageSize\"\r\n src=\"{{'./assets/icon/svg/' + getIconName() + '.svg'}}\" alt=\"{{getIconName()}}\" />\r\n </span>\r\n <span class=\"info-label\" *ngIf=\"postText\">{{postText}}</span>\r\n </div> ", styles: ["@media print{body{all:unset!important}.wm-page{margin:0!important;display:block!important}.not-printable{display:none!important}*{visibility:hidden}.printable,.printable *{visibility:visible!important}}.info-wrap{justify-content:flex-start;align-items:center;height:100%;text-align:center}.info-label{display:inline-block;color:inherit;font-size:14px}.info-icon{cursor:pointer}.info-left{margin-left:-10px;align-items:flex-start}.info-right{align-items:flex-end}.u-arrow{margin-left:4px;margin-right:4px}.u-info-content{color:var(--infoColor);text-align:left;font-size:14px;font-weight:400;max-width:50vw;white-space:normal;word-wrap:break-word;word-break:break-word;background:var(--pageBackgroundColor);overflow-x:hidden;overflow-y:auto;border-color:var(--secondaryHover);border-radius:4px;padding:16px;box-shadow:0 16px 16px -1px #051d391a}.u-info-content::-webkit-scrollbar{width:4px}.p-error{color:var(--dangerColor)}.p-warning{color:var(--warningColor)}.p-info{color:var(--brandColor)}\n"] }]
|
|
222
|
-
}], ctorParameters: function () { return [{ type: i1.Overlay }, { type: i0.ElementRef }, { type: i0.ViewContainerRef }]; }, propDecorators: { preText: [{
|
|
223
|
-
type: Input
|
|
224
|
-
}], postText: [{
|
|
225
|
-
type: Input
|
|
226
|
-
}], header: [{
|
|
227
|
-
type: Input
|
|
228
|
-
}], type: [{
|
|
229
|
-
type: Input
|
|
230
|
-
}], popupPosition: [{
|
|
231
|
-
type: Input
|
|
232
|
-
}], iconAsTemplate: [{
|
|
233
|
-
type: Input
|
|
234
|
-
}], useThemeForIconTemplate: [{
|
|
235
|
-
type: Input
|
|
236
|
-
}], smallIcon: [{
|
|
237
|
-
type: Input
|
|
238
|
-
}] } });
|
|
239
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid20taW5mby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9idHYtYmFzZS1jb250cm9scy9zcmMvbGliL3dtLWluZm8vd20taW5mby5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9idHYtYmFzZS1jb250cm9scy9zcmMvbGliL3dtLWluZm8vd20taW5mby5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxzQkFBc0IsRUFBdUIsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsdUJBQXVCLEVBQXdELE1BQU0sZUFBZSxDQUFDO0FBQ3hJLE9BQU8sRUFBRSxRQUFRLEVBQXdCLE1BQU0sZUFBZSxDQUFDOzs7OztBQUUvRCxNQUFNLHlCQUF5QixHQUFHLENBQUMsY0FBYyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxVQUFVLENBQUMsQ0FBQztBQVMxSCxNQUFNLE9BQU8sZUFBZTtJQXNCMUIsWUFBb0IsUUFBaUIsRUFDM0IsV0FBdUIsRUFBVSxnQkFBa0M7UUFEekQsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQUMzQixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUFVLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFyQnBFLFlBQU8sR0FBVyxFQUFFLENBQUM7UUFDckIsYUFBUSxHQUFXLEVBQUUsQ0FBQztRQUV0QixTQUFJLEdBQWEsUUFBUSxDQUFDLEtBQUssQ0FBQztRQUNoQyxrQkFBYSxHQUFXLGNBQWMsQ0FBQztRQUV2Qyw0QkFBdUIsR0FBWSxLQUFLLENBQUM7UUFFbEQsb0JBQWUsR0FBRyxFQUFFLENBQUM7UUFDckIsa0JBQWEsR0FBRyxFQUFFLENBQUM7UUFDbkIsbUJBQWMsR0FB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QUFRLEVBQUUsS0FBSztxQkFDaEI7b0JBQ0QsS0FBSyxFQUFFO3dCQUNMLE1BQU0sRUFBRSxJQUFJO3dCQUNaLElBQUksRUFBRSxLQUFLO3FCQUNaO2lCQUNGLENBQUM7U0FDTDtRQUNELE9BQU8sZUFBZSxDQUFDO0lBQ3pCLENBQUM7OzRHQTlOVSxlQUFlO2dHQUFmLGVBQWUsbVJDZDVCLGdpQ0FrQlM7MkZESkksZUFBZTtrQkFQM0IsU0FBUzsrQkFDRSxTQUFTLG1CQUdGLHVCQUF1QixDQUFDLE1BQU07c0pBS3RDLE9BQU87c0JBQWYsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLHVCQUF1QjtzQkFBL0IsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdGlvblBvc2l0aW9uUGFpciwgT3ZlcmxheSwgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcclxuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgVGVtcGxhdGVSZWYsIEVsZW1lbnRSZWYsIE9uRGVzdHJveSwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJbmZvVHlwZSwgSVdtSW5mb1Bvc2l0aW9uUG9wdXAgfSBmcm9tICcuL2luZm8tbW9kZWxzJztcclxuXHJcbmNvbnN0IERFRkFVTFRfVE9PTFRJUF9QT1NJVElPTlMgPSBbJ2JvdHRvbS1yaWdodCcsICdib3R0b20tY2VudGVyJywgJ2JvdHRvbS1sZWZ0JywgJ3RvcC1yaWdodCcsICd0b3AtY2VudGVyJywgJ3RvcC1sZWZ0J107XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3dtLWluZm8nLFxyXG4gIHN0eWxlVXJsczogWycuL3dtLWluZm8uc2NzcyddLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi93bS1pbmZvLmh0bWwnLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgV21JbmZvQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG5cclxuICBASW5wdXQoKSBwcmVUZXh0OiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoKSBwb3N0VGV4dDogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KCkgaGVhZGVyOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgdHlwZTogSW5mb1R5cGUgPSBJbmZvVHlwZS5FcnJvcjtcclxuICBASW5wdXQoKSBwb3B1cFBvc2l0aW9uOiBzdHJpbmcgPSAnYm90dG9tLXJpZ2h0JztcclxuICBASW5wdXQoKSBpY29uQXNUZW1wbGF0ZTogYm9vbGVhbjtcclxuICBASW5wdXQoKSB1c2VUaGVtZUZvckljb25UZW1wbGF0ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNtYWxsSWNvbjogYm9vbGVhbjtcclxuICBkZWZhdWx0SWNvblNpemUgPSAyNDtcclxuICBzbWFsbEljb25TaXplID0gMTY7XHJcbiAgcG9zaXRpb25Cb3R0b206IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHBvc2l0aW9uTGVmdDogYm9vbGVhbiA9IHRydWU7XHJcbiAgY3VycmVudFBvc2l0aW9uczogc3RyaW5nW10gPSBERUZBVUxUX1RPT0xUSVBfUE9TSVRJT05TO1xyXG5cclxuICBnZXQgaW1hZ2VTaXplKCkge1xyXG4gICAgcmV0dXJuICh0aGlzLnNtYWxsSWNvbiA/IHRoaXMuc21hbGxJY29uU2l6ZSA6IHRoaXMuZGVmYXVsdEljb25TaXplKSArICdweCc7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9vdmVybGF5UmVmOiBPdmVybGF5UmVmO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9vdmVybGF5OiBPdmVybGF5LFxyXG4gICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmKSB7XHJcblxyXG4gIH1cclxuXHJcbiAgcHVibGljIHRvZ2dsZVBvcHVwKHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+KSB7XHJcbiAgICBpZiAodGhpcy5fb3ZlcmxheVJlZikge1xyXG4gICAgICB0aGlzLmNsb3NlUG9wdXAoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMub3BlblBvcHVwKHRlbXBsYXRlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgb3BlblBvcHVwKHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+KSB7XHJcbiAgICB0aGlzLmNsb3NlUG9wdXAoKTsgLy8gY2xvc2UgYW55IG9sZCBvbmVzLlxyXG5cclxuICAgIGNvbnN0IHBvc2l0aW9uUGFpcnM6IENvbm5lY3Rpb25Qb3NpdGlvblBhaXJbXSA9IHRoaXMuY3VycmVudFBvc2l0aW9ucy5tYXAocG9zaXRpb24gPT4ge1xyXG4gICAgICBjb25zdCBkYXRhOiBJV21JbmZvUG9zaXRpb25Qb3B1cCA9IHRoaXMuY2hlY2tQb3B1cFBvc2l0aW9uKHBvc2l0aW9uKTtcclxuICAgICAgY29uc3QgdmVydENsYXNzID0gZGF0YS5hcnJvdy5ib3R0b20gPyAnaW5mby1ib3R0b20nIDogJ2luZm8tdG9wJztcclxuICAgICAgY29uc3QgaG9yQ2xhc3MgPSBkYXRhLmFycm93LmxlZnQgPyAnaW5mby1sZWZ0JyA6ICdpbmZvLXJpZ2h0JztcclxuICAgICAgcmV0dXJuIG5ldyBDb25uZWN0aW9uUG9zaXRpb25QYWlyKFxyXG4gICAgICAgIHsgb3JpZ2luWDogZGF0YS5vcmlnaW4ub3JpZ2luWCwgb3JpZ2luWTogZGF0YS5vcmlnaW4ub3JpZ2luWSB9LFxyXG4gICAgICAgIHsgb3ZlcmxheVg6IGRhdGEub3ZlcmxheS5vdmVybGF5WCwgb3ZlcmxheVk6IGRhdGEub3ZlcmxheS5vdmVybGF5WSB9LCAwLCAwLFxyXG4gICAgICAgIFsnaW5mby1wb3B1cC13cmFwcGVyJywgdmVydENsYXNzLCBob3JDbGFzc11cclxuICAgICAgKTtcclxuICAgIH0pO1xyXG4gICAgY29uc3QgcG9zaXRpb25TdHJhdGVneSA9IHRoaXMuX292ZXJsYXkucG9zaXRpb24oKVxyXG4gICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyh0aGlzLl9lbGVtZW50UmVmKVxyXG4gICAgICAud2l0aFBvc2l0aW9ucyhwb3NpdGlvblBhaXJzKVxyXG4gICAgICAud2l0aEZsZXhpYmxlRGltZW5zaW9ucyh0cnVlKVxyXG4gICAgICAud2l0aFB1c2godHJ1ZSk7XHJcblxyXG4gICAgdGhpcy5fb3ZlcmxheVJlZiA9IHRoaXMuX292ZXJsYXkuY3JlYXRlKHtcclxuICAgICAgcGFuZWxDbGFzczogWydtYXQtdG9vbHRpcC1wYW5lbCcsICdtb2RhbCcsICdpcy1hY3RpdmUnXSxcclxuICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXHJcbiAgICAgIGJhY2tkcm9wQ2xhc3M6ICdtb2RhbC1iYWNrZ3JvdW5kJyxcclxuICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMuX292ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5yZXBvc2l0aW9uKCksXHJcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3lcclxuICAgIH0pO1xyXG4gICAgaWYgKHRoaXMuX292ZXJsYXlSZWYgJiYgIXRoaXMuX292ZXJsYXlSZWYuaGFzQXR0YWNoZWQoKSkge1xyXG4gICAgICB0aGlzLl9vdmVybGF5UmVmLmF0dGFjaChuZXcgVGVtcGxhdGVQb3J0YWwodGVtcGxhdGUsIHRoaXMudmlld0NvbnRhaW5lclJlZikpO1xyXG4gICAgICB0aGlzLl9vdmVybGF5UmVmLmJhY2tkcm9wQ2xpY2soKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jbG9zZVBvcHVwKCkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjbG9zZVBvcHVwKCkge1xyXG4gICAgaWYgKHRoaXMuX292ZXJsYXlSZWYpIHtcclxuICAgICAgdGhpcy5fb3ZlcmxheVJlZi5kZXRhY2goKTtcclxuICAgICAgdGhpcy5fb3ZlcmxheVJlZiA9IHVuZGVmaW5lZDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKHRoaXMucG9wdXBQb3NpdGlvbiAhPT0gREVGQVVMVF9UT09MVElQX1BPU0lUSU9OU1swXSkge1xyXG4gICAgICBjb25zdCBvdGhlclBvc2l0aW9ucyA9IFtdO1xyXG4gICAgICBjb25zdCBmaWx0ZXJlZEJ5Rmlyc3RQb3NpdGlvbiA9IERFRkFVTFRfVE9PTFRJUF9QT1NJVElPTlNcclxuICAgICAgICAuZmlsdGVyKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICBpZiAoaXRlbSA9PT0gdGhpcy5wb3B1cFBvc2l0aW9uKSByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgICBpZiAoaXRlbS5zdGFydHNXaXRoKHRoaXMucG9wdXBQb3NpdGlvbi5zcGxpdCgnLScpWzBdKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIG90aGVyUG9zaXRpb25zLnB1c2goaXRlbSk7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgdGhpcy5jdXJyZW50UG9zaXRpb25zID0gW3RoaXMucG9wdXBQb3NpdGlvbl0uY29uY2F0KGZpbHRlcmVkQnlGaXJzdFBvc2l0aW9uKS5jb25jYXQob3RoZXJQb3NpdGlvbnMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldEljb25OYW1lKCkge1xyXG4gICAgc3dpdGNoICh0aGlzLnR5cGUpIHtcclxuICAgICAgY2FzZSBJbmZvVHlwZS5FcnJvcjpcclxuICAgICAgICByZXR1cm4gJ2Vycm9yJztcclxuICAgICAgY2FzZSBJbmZvVHlwZS5XYXJuaW5nOlxyXG4gICAgICAgIHJldHVybiAnd2FybmluZyc7XHJcbiAgICAgIGNhc2UgSW5mb1R5cGUuVGFiRXJyb3I6XHJcbiAgICAgICAgcmV0dXJuICdiby1lcnJvcic7XHJcbiAgICAgIGNhc2UgSW5mb1R5cGUuVGFiV2FybmluZzpcclxuICAgICAgICByZXR1cm4gJ2JvLXdhcm5pbmcnO1xyXG4gICAgICBjYXNlIEluZm9UeXBlLkluZm9TbWFsbDpcclxuICAgICAgICByZXR1cm4gJ2luZm8tcyc7XHJcbiAgICAgIGNhc2UgSW5mb1R5cGUuRmlsdGVyZWQ6XHJcbiAgICAgICAgcmV0dXJuICdmaWx0ZXInO1xyXG4gICAgICBjYXNlIEluZm9UeXBlLklubGluZURldGFpbHM6XHJcbiAgICAgICAgcmV0dXJuICdleWUtcGljayc7XHJcbiAgICAgIGNhc2UgSW5mb1R5cGUuU3ViTmF2UGFuZWw6XHJcbiAgICAgICAgdGhpcy5zbWFsbEljb24gPSB0cnVlO1xyXG4gICAgICAgIHJldHVybiAnc3ViLW5hdi13YXJuaW5nJztcclxuICAgICAgY2FzZSBJbmZvVHlwZS5JbmZvR29sZDpcclxuICAgICAgICByZXR1cm4gJ2luZm8tZ29sZCc7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuICdpbmZvJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5jbG9zZVBvcHVwKCk7XHJcbiAgfVxyXG5cclxuICBjaGVja1BvcHVwUG9zaXRpb24odmFsdWU6IHN0cmluZyk6IElXbUluZm9Qb3NpdGlvblBvcHVwIHtcclxuICAgIGxldCBjdXJyZW50UG9zaXRpb246IElXbUluZm9Qb3NpdGlvblBvcHVwO1xyXG4gICAgc3dpdGNoICh2YWx1ZSkge1xyXG4gICAgICBjYXNlICdib3R0b20tbGVmdCc6XHJcbiAgICAgICAgY3VycmVudFBvc2l0aW9uID0ge1xyXG4gICAgICAgICAgb3JpZ2luOiB7XHJcbiAgICAgICAgICAgIG9yaWdpblg6ICdlbmQnLFxyXG4gICAgICAgICAgICBvcmlnaW5ZOiAnYm90dG9tJ1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIG92ZXJsYXk6IHtcclxuICAgICAgICAgICAgb3ZlcmxheVg6ICdlbmQnLFxyXG4gICAgICAgICAgICBvdmVybGF5WTogJ3RvcCdcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBhcnJvdzoge1xyXG4gICAgICAgICAgICBib3R0b206IHRydWUsXHJcbiAgICAgICAgICAgIGxlZnQ6IHRydWUsXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAndG9wLXJpZ2h0JzpcclxuICAgICAgICBjdXJyZW50UG9zaXRpb24gPSB7XHJcbiAgICAgICAgICBvcmlnaW46IHtcclxuICAgICAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcclxuICAgICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgb3ZlcmxheToge1xyXG4gICAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcclxuICAgICAgICAgICAgb3ZlcmxheVk6ICdib3R0b20nLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGFycm93OiB7XHJcbiAgICAgICAgICAgIGJvdHRvbTogZmFsc2UsXHJcbiAgICAgICAgICAgIGxlZnQ6IHRydWUsXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAndG9wLWxlZnQnOlxyXG4gICAgICAgIGN1cnJlbnRQb3NpdGlvbiA9IHtcclxuICAgICAgICAgIG9yaWdpbjoge1xyXG4gICAgICAgICAgICBvcmlnaW5YOiAnZW5kJyxcclxuICAgICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgb3ZlcmxheToge1xyXG4gICAgICAgICAgICBvdmVybGF5WDogJ2VuZCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlZOiAnYm90dG9tJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBhcnJvdzoge1xyXG4gICAgICAgICAgICBib3R0b206IGZhbHNlLFxyXG4gICAgICAgICAgICBsZWZ0OiBmYWxzZSxcclxuICAgICAgICAgIH1cclxuICAgICAgICB9O1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICd0b3AtY2VudGVyJzpcclxuICAgICAgICBjdXJyZW50UG9zaXRpb24gPSB7XHJcbiAgICAgICAgICBvcmlnaW46IHtcclxuICAgICAgICAgICAgb3JpZ2luWDogJ2NlbnRlcicsXHJcbiAgICAgICAgICAgIG9yaWdpblk6ICd0b3AnLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIG92ZXJsYXk6IHtcclxuICAgICAgICAgICAgb3ZlcmxheVg6ICdjZW50ZXInLFxyXG4gICAgICAgICAgICBvdmVybGF5WTogJ2JvdHRvbScsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgYXJyb3c6IHtcclxuICAgICAgICAgICAgYm90dG9tOiBmYWxzZSxcclxuICAgICAgICAgICAgbGVmdDogdHJ1ZSxcclxuICAgICAgICAgIH1cclxuICAgICAgICB9O1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdib3R0b20tY2VudGVyJzpcclxuICAgICAgICBjdXJyZW50UG9zaXRpb24gPSB7XHJcbiAgICAgICAgICBvcmlnaW46IHtcclxuICAgICAgICAgICAgb3JpZ2luWDogJ2NlbnRlcicsXHJcbiAgICAgICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIG92ZXJsYXk6IHtcclxuICAgICAgICAgICAgb3ZlcmxheVg6ICdjZW50ZXInLFxyXG4gICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgYXJyb3c6IHtcclxuICAgICAgICAgICAgYm90dG9tOiB0cnVlLFxyXG4gICAgICAgICAgICBsZWZ0OiB0cnVlLFxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2JvdHRvbS1yaWdodCc6XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgY3VycmVudFBvc2l0aW9uID0ge1xyXG4gICAgICAgICAgb3JpZ2luOiB7XHJcbiAgICAgICAgICAgIG9yaWdpblg6ICdzdGFydCcsXHJcbiAgICAgICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIG92ZXJsYXk6IHtcclxuICAgICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlZOiAndG9wJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBhcnJvdzoge1xyXG4gICAgICAgICAgICBib3R0b206IHRydWUsXHJcbiAgICAgICAgICAgIGxlZnQ6IGZhbHNlLFxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gY3VycmVudFBvc2l0aW9uO1xyXG4gIH1cclxufVxyXG4iLCI8bmctdGVtcGxhdGUgI3BvcHVwVGVtcGxhdGU+XHJcbiAgPGRpdiBjbGFzcz1cInUtYXJyb3dcIj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwidS1pbmZvLWNvbnRlbnRcIiBbbmdDbGFzc109XCJ7J3AtZXJyb3InOiB0eXBlID09PSAwLCAncC13YXJuaW5nJzogdHlwZSA9PT0gMSwgJ3AtaW5mbyc6IHR5cGUgPT09IDJ9XCI+XHJcbiAgICA8c3BhbiAqbmdJZj1cImhlYWRlclwiIFtpbm5lckhUTUxdPVwiaGVhZGVyXCI+PC9zcGFuPlxyXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG4gPGRpdiBjbGFzcz1cImluZm8td3JhcCBmbGV4LXJvd1wiIFtuZ0NsYXNzXT1cInsncC1lcnJvcic6IHR5cGUgPT09IDAsICdwLXdhcm5pbmcnOiB0eXBlID09PSAxLCAncC1pbmZvJzogdHlwZSA9PT0gMn1cIj5cclxuICAgIDxzcGFuIGNsYXNzPVwiaW5mby1sYWJlbFwiICpuZ0lmPVwicHJlVGV4dFwiPnt7cHJlVGV4dH19PC9zcGFuPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJpbmZvLWljb25cIiAoY2xpY2spPVwidG9nZ2xlUG9wdXAocG9wdXBUZW1wbGF0ZSlcIj5cclxuICAgICAgPHdtLXRlbXBsYXRlLWltYWdlICpuZ0lmPVwiaWNvbkFzVGVtcGxhdGVcIiBbaWNvbl09XCJnZXRJY29uTmFtZSgpXCIgW3NpemVdPVwiaW1hZ2VTaXplXCJcclxuICAgICAgICBbYWN0aXZlXT1cInVzZVRoZW1lRm9ySWNvblRlbXBsYXRlXCI+XHJcbiAgICAgIDwvd20tdGVtcGxhdGUtaW1hZ2U+XHJcbiAgICAgIDxpbWcgKm5nSWY9XCIhaWNvbkFzVGVtcGxhdGVcIiBbYXR0ci53aWR0aF09XCJpbWFnZVNpemVcIiBbYXR0ci5oZWlnaHRdPVwiaW1hZ2VTaXplXCJcclxuICAgICAgICBzcmM9XCJ7eycuL2Fzc2V0cy9pY29uL3N2Zy8nICsgZ2V0SWNvbk5hbWUoKSArICcuc3ZnJ319XCIgYWx0PVwie3tnZXRJY29uTmFtZSgpfX1cIiAvPlxyXG4gICAgPC9zcGFuPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJpbmZvLWxhYmVsXCIgKm5nSWY9XCJwb3N0VGV4dFwiPnt7cG9zdFRleHR9fTwvc3Bhbj5cclxuICA8L2Rpdj4gIl19
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/common";
|
|
4
|
-
import * as i2 from "../wm-tamplate-image/wm-template-image.component";
|
|
5
|
-
export class WmPanelBarComponent {
|
|
6
|
-
constructor() {
|
|
7
|
-
this.labelClasses = 'pb-label';
|
|
8
|
-
this.maxHeight = 'unset';
|
|
9
|
-
this.maxWidth = 'unset';
|
|
10
|
-
this._open = false;
|
|
11
|
-
this.collapseText = 'Collapse';
|
|
12
|
-
this.expandText = 'Expand';
|
|
13
|
-
this.openChange = new EventEmitter();
|
|
14
|
-
this.directionBottom = true;
|
|
15
|
-
this.directionLeft = false;
|
|
16
|
-
this._direction = 'bottom';
|
|
17
|
-
}
|
|
18
|
-
set open(value) {
|
|
19
|
-
if (value === this._open)
|
|
20
|
-
return;
|
|
21
|
-
this._open = value;
|
|
22
|
-
}
|
|
23
|
-
get open() {
|
|
24
|
-
return this._open;
|
|
25
|
-
}
|
|
26
|
-
get direction() { return this._direction; }
|
|
27
|
-
set direction(val) {
|
|
28
|
-
if (val !== 'bottom' && val !== 'left') {
|
|
29
|
-
val = 'bottom';
|
|
30
|
-
}
|
|
31
|
-
this._direction = val;
|
|
32
|
-
switch (val) {
|
|
33
|
-
case 'left':
|
|
34
|
-
this.directionLeft = true;
|
|
35
|
-
this.directionBottom = false;
|
|
36
|
-
break;
|
|
37
|
-
default:
|
|
38
|
-
this.directionBottom = true;
|
|
39
|
-
this.directionLeft = false;
|
|
40
|
-
break;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
onClick() {
|
|
44
|
-
this.open = !this.open;
|
|
45
|
-
this.openChange.emit(this.open);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
WmPanelBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: WmPanelBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
49
|
-
WmPanelBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: WmPanelBarComponent, selector: "wm-panel-bar", inputs: { label: "label", labelClasses: "labelClasses", openedLabel: "openedLabel", width: "width", height: "height", maxHeight: "maxHeight", maxWidth: "maxWidth", open: "open", collapseText: "collapseText", expandText: "expandText", direction: "direction" }, outputs: { openChange: "openChange" }, ngImport: i0, template: "<div *ngIf=\"directionBottom\" class=\"wm-panel-bar drb flex-col\"\r\n [ngStyle]=\"{'max-width': maxWidth, 'max-height': maxHeight}\">\r\n <div class=\"pb-header align-center flex-row\">\r\n <div class={{labelClasses}} *ngIf=\"label\">{{label}}</div>\r\n <ng-content select=\"[headerLabel]\"></ng-content>\r\n <div class=\"pb-header-content flex-row\">\r\n <ng-content select=\"[headerContent]\"></ng-content>\r\n <div class=\"ex-button\" (click)=\"onClick()\">\r\n <span>{{ (open ? collapseText : expandText)}}</span>\r\n <wm-template-image class=\"bar-arrow\" [ngClass]=\"{'bar-open-bottom': open}\" icon=\"arrow-down\">\r\n </wm-template-image>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"flex-row pb-content pb-vertical\" [ngStyle]=\"{'height': !open ? '0px': ''}\"\r\n [ngClass]=\"{'pb-vertical-visible': open}\">\r\n <ng-container *ngTemplateOutlet=\"body\"></ng-container>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"!directionBottom\" class=\"wm-panel-bar flex-col drl\" [ngClass]=\"{'pb-drl-open': open}\"\r\n [ngStyle]=\"{'max-width': maxWidth, 'max-height': maxHeight}\">\r\n <div class=\"ex-panel flex-row ex-panel-drl\" (click)=\"onClick()\">\r\n <wm-template-image class=\"bar-arrow arrow-left\" [ngClass]=\"{'bar-open-left': open}\" icon=\"arrow-left\">\r\n </wm-template-image>\r\n <div class=\"preview-label\" *ngIf=\"!open\">{{label}}</div>\r\n <div class=\"preview-label\" *ngIf=\"open\">{{openedLabel || label}}</div>\r\n\r\n </div>\r\n <div class=\"flex-col pb-content pb-horizontal-visible\" *ngIf=\"open\">\r\n <ng-container *ngTemplateOutlet=\"body\"></ng-container>\r\n </div>\r\n</div>\r\n\r\n<ng-template #body>\r\n <ng-content></ng-content>\r\n</ng-template>", styles: ["@media print{body{all:unset!important}.wm-page{margin:0!important;display:block!important}.not-printable{display:none!important}*{visibility:hidden}.printable,.printable *{visibility:visible!important}}.wm-panel-bar{border-radius:4px;background:var(--pageBackgroundColor);flex-shrink:0;overflow:hidden;direction:ltr}.ex-button{display:inline-flex;color:var(--mediumFontColor);letter-spacing:0;cursor:pointer;background:transparent;border:none;justify-content:flex-end;align-items:center;width:86px;margin-left:8px}.pb-header{width:100%;flex-shrink:0;min-height:48px;font-size:14px;box-sizing:border-box;padding:4px 16px}.pb-label,.brand-label{font-weight:700;color:var(--strongFontColor);letter-spacing:1.2px;line-height:16px;margin-right:12px;flex-shrink:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-label{color:var(--brandColor)}.pb-header-content{align-items:center;margin-left:auto}.bar-open-left,.bar-open-right{transform:rotateY(-180deg)}.drb{box-shadow:0 0 1px #0a16460f,0 1px 1px #0a16461a}.drr{flex-direction:row-reverse}.pb-drl-open{width:100%}.pb-vertical{height:0}.pb-content{direction:ltr;visibility:hidden;overflow:auto}.pb-vertical-visible{visibility:visible;height:100%;max-height:calc(100% - 48px)}.pb-horizontal-visible{visibility:visible;width:100%}.ex-panel{height:40px;width:auto;min-width:1px;max-width:100%;flex-shrink:0;cursor:pointer;background:transparent;border-radius:4px;box-shadow:1px 1px 2px 2px #0a16460f;justify-content:flex-start}.arrow-left{margin:auto 0}.preview-label{align-items:center;margin:auto 4px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.WmTemplateImageComponent, selector: "wm-template-image", inputs: ["icon", "disabled", "active", "light", "classes", "backgroundColor", "size", "sizeBox"] }] });
|
|
50
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: WmPanelBarComponent, decorators: [{
|
|
51
|
-
type: Component,
|
|
52
|
-
args: [{ selector: 'wm-panel-bar', template: "<div *ngIf=\"directionBottom\" class=\"wm-panel-bar drb flex-col\"\r\n [ngStyle]=\"{'max-width': maxWidth, 'max-height': maxHeight}\">\r\n <div class=\"pb-header align-center flex-row\">\r\n <div class={{labelClasses}} *ngIf=\"label\">{{label}}</div>\r\n <ng-content select=\"[headerLabel]\"></ng-content>\r\n <div class=\"pb-header-content flex-row\">\r\n <ng-content select=\"[headerContent]\"></ng-content>\r\n <div class=\"ex-button\" (click)=\"onClick()\">\r\n <span>{{ (open ? collapseText : expandText)}}</span>\r\n <wm-template-image class=\"bar-arrow\" [ngClass]=\"{'bar-open-bottom': open}\" icon=\"arrow-down\">\r\n </wm-template-image>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"flex-row pb-content pb-vertical\" [ngStyle]=\"{'height': !open ? '0px': ''}\"\r\n [ngClass]=\"{'pb-vertical-visible': open}\">\r\n <ng-container *ngTemplateOutlet=\"body\"></ng-container>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"!directionBottom\" class=\"wm-panel-bar flex-col drl\" [ngClass]=\"{'pb-drl-open': open}\"\r\n [ngStyle]=\"{'max-width': maxWidth, 'max-height': maxHeight}\">\r\n <div class=\"ex-panel flex-row ex-panel-drl\" (click)=\"onClick()\">\r\n <wm-template-image class=\"bar-arrow arrow-left\" [ngClass]=\"{'bar-open-left': open}\" icon=\"arrow-left\">\r\n </wm-template-image>\r\n <div class=\"preview-label\" *ngIf=\"!open\">{{label}}</div>\r\n <div class=\"preview-label\" *ngIf=\"open\">{{openedLabel || label}}</div>\r\n\r\n </div>\r\n <div class=\"flex-col pb-content pb-horizontal-visible\" *ngIf=\"open\">\r\n <ng-container *ngTemplateOutlet=\"body\"></ng-container>\r\n </div>\r\n</div>\r\n\r\n<ng-template #body>\r\n <ng-content></ng-content>\r\n</ng-template>", styles: ["@media print{body{all:unset!important}.wm-page{margin:0!important;display:block!important}.not-printable{display:none!important}*{visibility:hidden}.printable,.printable *{visibility:visible!important}}.wm-panel-bar{border-radius:4px;background:var(--pageBackgroundColor);flex-shrink:0;overflow:hidden;direction:ltr}.ex-button{display:inline-flex;color:var(--mediumFontColor);letter-spacing:0;cursor:pointer;background:transparent;border:none;justify-content:flex-end;align-items:center;width:86px;margin-left:8px}.pb-header{width:100%;flex-shrink:0;min-height:48px;font-size:14px;box-sizing:border-box;padding:4px 16px}.pb-label,.brand-label{font-weight:700;color:var(--strongFontColor);letter-spacing:1.2px;line-height:16px;margin-right:12px;flex-shrink:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-label{color:var(--brandColor)}.pb-header-content{align-items:center;margin-left:auto}.bar-open-left,.bar-open-right{transform:rotateY(-180deg)}.drb{box-shadow:0 0 1px #0a16460f,0 1px 1px #0a16461a}.drr{flex-direction:row-reverse}.pb-drl-open{width:100%}.pb-vertical{height:0}.pb-content{direction:ltr;visibility:hidden;overflow:auto}.pb-vertical-visible{visibility:visible;height:100%;max-height:calc(100% - 48px)}.pb-horizontal-visible{visibility:visible;width:100%}.ex-panel{height:40px;width:auto;min-width:1px;max-width:100%;flex-shrink:0;cursor:pointer;background:transparent;border-radius:4px;box-shadow:1px 1px 2px 2px #0a16460f;justify-content:flex-start}.arrow-left{margin:auto 0}.preview-label{align-items:center;margin:auto 4px}\n"] }]
|
|
53
|
-
}], propDecorators: { label: [{
|
|
54
|
-
type: Input
|
|
55
|
-
}], labelClasses: [{
|
|
56
|
-
type: Input
|
|
57
|
-
}], openedLabel: [{
|
|
58
|
-
type: Input
|
|
59
|
-
}], width: [{
|
|
60
|
-
type: Input
|
|
61
|
-
}], height: [{
|
|
62
|
-
type: Input
|
|
63
|
-
}], maxHeight: [{
|
|
64
|
-
type: Input
|
|
65
|
-
}], maxWidth: [{
|
|
66
|
-
type: Input
|
|
67
|
-
}], open: [{
|
|
68
|
-
type: Input
|
|
69
|
-
}], collapseText: [{
|
|
70
|
-
type: Input
|
|
71
|
-
}], expandText: [{
|
|
72
|
-
type: Input
|
|
73
|
-
}], openChange: [{
|
|
74
|
-
type: Output
|
|
75
|
-
}], direction: [{
|
|
76
|
-
type: Input
|
|
77
|
-
}] } });
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid20tcGFuZWwtYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J0di1iYXNlLWNvbnRyb2xzL3NyYy9saWIvd20tcGFuZWwtYmFyL3dtLXBhbmVsLWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9idHYtYmFzZS1jb250cm9scy9zcmMvbGliL3dtLXBhbmVsLWJhci93bS1wYW5lbC1iYXIuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBT3ZFLE1BQU0sT0FBTyxtQkFBbUI7SUFMaEM7UUFPVyxpQkFBWSxHQUErQixVQUFVLENBQUM7UUFLdEQsY0FBUyxHQUFXLE9BQU8sQ0FBQztRQUM1QixhQUFRLEdBQVcsT0FBTyxDQUFDO1FBRzVCLFVBQUssR0FBVyxLQUFLLENBQUM7UUFVckIsaUJBQVksR0FBVyxVQUFVLENBQUM7UUFDbEMsZUFBVSxHQUFXLFFBQVEsQ0FBQztRQUM3QixlQUFVLEdBQTBCLElBQUksWUFBWSxFQUFXLENBQUM7UUFDMUUsb0JBQWUsR0FBWSxJQUFJLENBQUM7UUFDaEMsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFFdkIsZUFBVSxHQUFzQixRQUFRLENBQUM7S0F3QmxEO0lBdENDLElBQWEsSUFBSSxDQUFDLEtBQWM7UUFDOUIsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLEtBQUs7WUFBRSxPQUFPO1FBQ2pDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQVFELElBQUksU0FBUyxLQUFLLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDM0MsSUFBYSxTQUFTLENBQUMsR0FBRztRQUN4QixJQUFJLEdBQUcsS0FBSyxRQUFRLElBQUksR0FBRyxLQUFLLE1BQU0sRUFBRTtZQUN0QyxHQUFHLEdBQUcsUUFBUSxDQUFDO1NBQ2hCO1FBQ0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUM7UUFDdEIsUUFBUSxHQUFHLEVBQUU7WUFDWCxLQUFLLE1BQU07Z0JBQ1QsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7Z0JBQzFCLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO2dCQUM3QixNQUFNO1lBQ1I7Z0JBQ0UsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7Z0JBQzVCLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO2dCQUMzQixNQUFNO1NBQ1Q7SUFDSCxDQUFDO0lBR0QsT0FBTztRQUNMLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQyxDQUFDOztnSEFsRFUsbUJBQW1CO29HQUFuQixtQkFBbUIsK1ZDUGhDLHUxREFvQ2M7MkZEN0JELG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxjQUFjOzhCQUtmLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsS0FBSztzQkFBYixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBS08sSUFBSTtzQkFBaEIsS0FBSztnQkFRRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0ksVUFBVTtzQkFBbkIsTUFBTTtnQkFNTSxTQUFTO3NCQUFyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnd20tcGFuZWwtYmFyJyxcclxuICBzdHlsZVVybHM6IFsnd20tcGFuZWwtYmFyLnNjc3MnXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vd20tcGFuZWwtYmFyLmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBXbVBhbmVsQmFyQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGxhYmVsQ2xhc3NlczogJ3BiLWxhYmVsJyB8ICdicmFuZC1sYWJlbCcgPSAncGItbGFiZWwnO1xyXG4gIEBJbnB1dCgpIG9wZW5lZExhYmVsOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpIHdpZHRoOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgaGVpZ2h0OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgbWF4SGVpZ2h0OiBzdHJpbmcgPSAndW5zZXQnO1xyXG4gIEBJbnB1dCgpIG1heFdpZHRoOiBzdHJpbmcgPSAndW5zZXQnO1xyXG5cclxuICBcclxuICBwcml2YXRlIF9vcGVuOiBib29sZWFuPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCkgc2V0IG9wZW4odmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIGlmICh2YWx1ZSA9PT0gdGhpcy5fb3BlbikgcmV0dXJuO1xyXG4gICAgdGhpcy5fb3BlbiA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgZ2V0IG9wZW4oKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fb3BlbjtcclxuICB9XHJcbiAgQElucHV0KCkgY29sbGFwc2VUZXh0OiBzdHJpbmcgPSAnQ29sbGFwc2UnO1xyXG4gIEBJbnB1dCgpIGV4cGFuZFRleHQ6IHN0cmluZyA9ICdFeHBhbmQnO1xyXG4gIEBPdXRwdXQoKSBvcGVuQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgZGlyZWN0aW9uQm90dG9tOiBib29sZWFuID0gdHJ1ZTtcclxuICBkaXJlY3Rpb25MZWZ0OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHByaXZhdGUgX2RpcmVjdGlvbjogJ2JvdHRvbScgfCAnbGVmdCcgPSAnYm90dG9tJztcclxuICBnZXQgZGlyZWN0aW9uKCkgeyByZXR1cm4gdGhpcy5fZGlyZWN0aW9uOyB9XHJcbiAgQElucHV0KCkgc2V0IGRpcmVjdGlvbih2YWwpIHtcclxuICAgIGlmICh2YWwgIT09ICdib3R0b20nICYmIHZhbCAhPT0gJ2xlZnQnKSB7XHJcbiAgICAgIHZhbCA9ICdib3R0b20nO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fZGlyZWN0aW9uID0gdmFsO1xyXG4gICAgc3dpdGNoICh2YWwpIHtcclxuICAgICAgY2FzZSAnbGVmdCc6XHJcbiAgICAgICAgdGhpcy5kaXJlY3Rpb25MZWZ0ID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmRpcmVjdGlvbkJvdHRvbSA9IGZhbHNlO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHRoaXMuZGlyZWN0aW9uQm90dG9tID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmRpcmVjdGlvbkxlZnQgPSBmYWxzZTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICBvbkNsaWNrKCkge1xyXG4gICAgdGhpcy5vcGVuID0gIXRoaXMub3BlbjtcclxuICAgIHRoaXMub3BlbkNoYW5nZS5lbWl0KHRoaXMub3Blbik7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgKm5nSWY9XCJkaXJlY3Rpb25Cb3R0b21cIiBjbGFzcz1cIndtLXBhbmVsLWJhciBkcmIgZmxleC1jb2xcIlxyXG4gICAgW25nU3R5bGVdPVwieydtYXgtd2lkdGgnOiBtYXhXaWR0aCwgJ21heC1oZWlnaHQnOiBtYXhIZWlnaHR9XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicGItaGVhZGVyIGFsaWduLWNlbnRlciBmbGV4LXJvd1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9e3tsYWJlbENsYXNzZXN9fSAqbmdJZj1cImxhYmVsXCI+e3tsYWJlbH19PC9kaXY+XHJcbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2hlYWRlckxhYmVsXVwiPjwvbmctY29udGVudD5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicGItaGVhZGVyLWNvbnRlbnQgZmxleC1yb3dcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2hlYWRlckNvbnRlbnRdXCI+PC9uZy1jb250ZW50PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXgtYnV0dG9uXCIgKGNsaWNrKT1cIm9uQ2xpY2soKVwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4+e3sgKG9wZW4gPyBjb2xsYXBzZVRleHQgOiBleHBhbmRUZXh0KX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPHdtLXRlbXBsYXRlLWltYWdlIGNsYXNzPVwiYmFyLWFycm93XCIgW25nQ2xhc3NdPVwieydiYXItb3Blbi1ib3R0b20nOiBvcGVufVwiIGljb249XCJhcnJvdy1kb3duXCI+XHJcbiAgICAgICAgICAgICAgICA8L3dtLXRlbXBsYXRlLWltYWdlPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImZsZXgtcm93IHBiLWNvbnRlbnQgcGItdmVydGljYWxcIiBbbmdTdHlsZV09XCJ7J2hlaWdodCc6ICFvcGVuID8gJzBweCc6ICcnfVwiXHJcbiAgICAgICAgW25nQ2xhc3NdPVwieydwYi12ZXJ0aWNhbC12aXNpYmxlJzogb3Blbn1cIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYm9keVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiAqbmdJZj1cIiFkaXJlY3Rpb25Cb3R0b21cIiBjbGFzcz1cIndtLXBhbmVsLWJhciBmbGV4LWNvbCBkcmxcIiBbbmdDbGFzc109XCJ7J3BiLWRybC1vcGVuJzogb3Blbn1cIlxyXG4gICAgW25nU3R5bGVdPVwieydtYXgtd2lkdGgnOiBtYXhXaWR0aCwgJ21heC1oZWlnaHQnOiBtYXhIZWlnaHR9XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZXgtcGFuZWwgZmxleC1yb3cgZXgtcGFuZWwtZHJsXCIgKGNsaWNrKT1cIm9uQ2xpY2soKVwiPlxyXG4gICAgICAgIDx3bS10ZW1wbGF0ZS1pbWFnZSBjbGFzcz1cImJhci1hcnJvdyBhcnJvdy1sZWZ0XCIgW25nQ2xhc3NdPVwieydiYXItb3Blbi1sZWZ0Jzogb3Blbn1cIiBpY29uPVwiYXJyb3ctbGVmdFwiPlxyXG4gICAgICAgIDwvd20tdGVtcGxhdGUtaW1hZ2U+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInByZXZpZXctbGFiZWxcIiAqbmdJZj1cIiFvcGVuXCI+e3tsYWJlbH19PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInByZXZpZXctbGFiZWxcIiAqbmdJZj1cIm9wZW5cIj57e29wZW5lZExhYmVsIHx8IGxhYmVsfX08L2Rpdj5cclxuXHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJmbGV4LWNvbCBwYi1jb250ZW50IHBiLWhvcml6b250YWwtdmlzaWJsZVwiICpuZ0lmPVwib3BlblwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJib2R5XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48bmctdGVtcGxhdGUgI2JvZHk+XHJcbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbjwvbmctdGVtcGxhdGU+Il19
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
import { Component, Input, ViewChild } from '@angular/core';
|
|
2
|
-
import { interval } from 'rxjs';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/common";
|
|
5
|
-
export class ScalableDivComponent {
|
|
6
|
-
constructor(_zone, _change) {
|
|
7
|
-
this._zone = _zone;
|
|
8
|
-
this._change = _change;
|
|
9
|
-
this.isCalculated = false;
|
|
10
|
-
}
|
|
11
|
-
get text() { return this._text; }
|
|
12
|
-
set text(value) {
|
|
13
|
-
this._text = value;
|
|
14
|
-
this.recalculateWidth();
|
|
15
|
-
}
|
|
16
|
-
ngAfterViewInit() {
|
|
17
|
-
this._zone.runOutsideAngular(() => {
|
|
18
|
-
this.firstObservable = interval(500).subscribe(it => {
|
|
19
|
-
if (this.isCalculated) {
|
|
20
|
-
this.firstObservable.unsubscribe();
|
|
21
|
-
return;
|
|
22
|
-
}
|
|
23
|
-
this.recalculateWidth();
|
|
24
|
-
this._change.detectChanges();
|
|
25
|
-
});
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
ngOnDestroy() {
|
|
29
|
-
if (!this.firstObservable)
|
|
30
|
-
return;
|
|
31
|
-
this.firstObservable.unsubscribe();
|
|
32
|
-
this.firstObservable = undefined;
|
|
33
|
-
}
|
|
34
|
-
getNumberFromFontSize(fontSize) {
|
|
35
|
-
const numberSize = Number(fontSize.substr(0, fontSize.length - 2));
|
|
36
|
-
return numberSize;
|
|
37
|
-
}
|
|
38
|
-
getFontSizeDim(fontSize) {
|
|
39
|
-
let num;
|
|
40
|
-
let dimLength = 0;
|
|
41
|
-
while (!num) {
|
|
42
|
-
dimLength = dimLength + 1;
|
|
43
|
-
num = Number(fontSize.substr(0, fontSize.length - dimLength));
|
|
44
|
-
}
|
|
45
|
-
return fontSize.substr(fontSize.length - dimLength, dimLength);
|
|
46
|
-
}
|
|
47
|
-
divWidth(text, font, padding) {
|
|
48
|
-
const f = font || '12px arial';
|
|
49
|
-
const o = document.createElement('div');
|
|
50
|
-
o.innerHTML = text;
|
|
51
|
-
o.style.position = 'absolute';
|
|
52
|
-
o.style.visibility = 'hidden';
|
|
53
|
-
o.style['text-align'] = 'center';
|
|
54
|
-
o.style.font = f;
|
|
55
|
-
o.style.padding = padding;
|
|
56
|
-
document.body.appendChild(o);
|
|
57
|
-
const w = o.clientWidth;
|
|
58
|
-
document.body.removeChild(o);
|
|
59
|
-
return w;
|
|
60
|
-
}
|
|
61
|
-
recalculateWidth() {
|
|
62
|
-
if (!this.divEl)
|
|
63
|
-
return;
|
|
64
|
-
const divTag = this.divEl.nativeElement;
|
|
65
|
-
if (divTag.clientWidth === 0)
|
|
66
|
-
return;
|
|
67
|
-
this.isCalculated = true;
|
|
68
|
-
this.doRecalculateWidth(divTag);
|
|
69
|
-
}
|
|
70
|
-
doRecalculateWidth(divTag) {
|
|
71
|
-
divTag.style.fontSize = '';
|
|
72
|
-
const style = window.getComputedStyle(divTag);
|
|
73
|
-
const availableWidth = divTag.offsetParent.clientWidth;
|
|
74
|
-
const sizeDim = this.getFontSizeDim(style.fontSize);
|
|
75
|
-
const text = divTag.textContent;
|
|
76
|
-
let font = style.font;
|
|
77
|
-
let textWidth = this.divWidth(text, font, style.padding);
|
|
78
|
-
const needChange = availableWidth < textWidth;
|
|
79
|
-
let numberSize = this.getNumberFromFontSize(style.fontSize);
|
|
80
|
-
let stringSize = numberSize.toString() + sizeDim;
|
|
81
|
-
while (textWidth - availableWidth > 1) {
|
|
82
|
-
numberSize = numberSize - 1;
|
|
83
|
-
const oldString = stringSize;
|
|
84
|
-
stringSize = numberSize.toString() + sizeDim;
|
|
85
|
-
font = font.replace(oldString, stringSize);
|
|
86
|
-
textWidth = this.divWidth(text, font, style.padding);
|
|
87
|
-
}
|
|
88
|
-
if (needChange)
|
|
89
|
-
divTag.style.fontSize = stringSize;
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
ScalableDivComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: ScalableDivComponent, deps: [{ token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
93
|
-
ScalableDivComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: ScalableDivComponent, selector: "wm-scalable-div", inputs: { divClass: "divClass", text: "text" }, viewQueries: [{ propertyName: "divEl", first: true, predicate: ["divEl"], descendants: true, static: true }], ngImport: i0, template: "<div #divEl [ngClass]=\"divClass\">{{text}}<div>", styles: ["@media print{body{all:unset!important}.wm-page{margin:0!important;display:block!important}.not-printable{display:none!important}*{visibility:hidden}.printable,.printable *{visibility:visible!important}}:host{font-size:42px;color:var(--strongFontColor);font-family:Inter,Verdana,Geneva,Tahoma,sans-serif;font-weight:700;padding:0 8px;text-align:center;margin:auto}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
94
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: ScalableDivComponent, decorators: [{
|
|
95
|
-
type: Component,
|
|
96
|
-
args: [{ selector: 'wm-scalable-div', template: "<div #divEl [ngClass]=\"divClass\">{{text}}<div>", styles: ["@media print{body{all:unset!important}.wm-page{margin:0!important;display:block!important}.not-printable{display:none!important}*{visibility:hidden}.printable,.printable *{visibility:visible!important}}:host{font-size:42px;color:var(--strongFontColor);font-family:Inter,Verdana,Geneva,Tahoma,sans-serif;font-weight:700;padding:0 8px;text-align:center;margin:auto}\n"] }]
|
|
97
|
-
}], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { divClass: [{
|
|
98
|
-
type: Input
|
|
99
|
-
}], divEl: [{
|
|
100
|
-
type: ViewChild,
|
|
101
|
-
args: ['divEl', { static: true }]
|
|
102
|
-
}], text: [{
|
|
103
|
-
type: Input
|
|
104
|
-
}] } });
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NhbGFibGUtZGl2LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J0di1iYXNlLWNvbnRyb2xzL3NyYy9saWIvd20tc2NhbGFibGUtZGl2L3NjYWxhYmxlLWRpdi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9idHYtYmFzZS1jb250cm9scy9zcmMvbGliL3dtLXNjYWxhYmxlLWRpdi9zY2FsYWJsZS1kaXYuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBNEIsS0FBSyxFQUFFLFNBQVMsRUFBd0MsTUFBTSxlQUFlLENBQUM7QUFDM0ksT0FBTyxFQUFFLFFBQVEsRUFBZ0IsTUFBTSxNQUFNLENBQUM7OztBQU85QyxNQUFNLE9BQU8sb0JBQW9CO0lBYzdCLFlBQW9CLEtBQWEsRUFBVSxPQUEwQjtRQUFqRCxVQUFLLEdBQUwsS0FBSyxDQUFRO1FBQVUsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7UUFWckUsaUJBQVksR0FBWSxLQUFLLENBQUM7SUFZOUIsQ0FBQztJQVJELElBQVcsSUFBSSxLQUFzQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3pELElBQW9CLElBQUksQ0FBQyxLQUFzQjtRQUMzQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBTU0sZUFBZTtRQUNsQixJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtZQUM5QixJQUFJLENBQUMsZUFBZSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUU7Z0JBQ2hELElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtvQkFDbkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztv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SSxFQUFFO2dCQU1oQixJQUFJO3NCQUF2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBWaWV3Q2hpbGQsIE9uRGVzdHJveSwgTmdab25lLCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBpbnRlcnZhbCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnd20tc2NhbGFibGUtZGl2JyxcclxuICAgIHN0eWxlVXJsczogWycuL3NjYWxhYmxlLWRpdi5zY3NzJ10sXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2NhbGFibGUtZGl2Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTY2FsYWJsZURpdkNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XHJcblxyXG4gICAgQElucHV0KCkgZGl2Q2xhc3M6IHN0cmluZztcclxuICAgIEBWaWV3Q2hpbGQoJ2RpdkVsJywgeyBzdGF0aWM6IHRydWUgfSkgZGl2RWw6IEVsZW1lbnRSZWY7XHJcbiAgICBpc0NhbGN1bGF0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIGZpcnN0T2JzZXJ2YWJsZTogU3Vic2NyaXB0aW9uO1xyXG5cclxuICAgIHByaXZhdGUgX3RleHQ6IHN0cmluZyB8IG51bWJlcjtcclxuICAgIHB1YmxpYyBnZXQgdGV4dCgpOiBzdHJpbmcgfCBudW1iZXIgeyByZXR1cm4gdGhpcy5fdGV4dDsgfVxyXG4gICAgQElucHV0KCkgcHVibGljIHNldCB0ZXh0KHZhbHVlOiBzdHJpbmcgfCBudW1iZXIpIHtcclxuICAgICAgICB0aGlzLl90ZXh0ID0gdmFsdWU7XHJcbiAgICAgICAgdGhpcy5yZWNhbGN1bGF0ZVdpZHRoKCk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfem9uZTogTmdab25lLCBwcml2YXRlIF9jaGFuZ2U6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICAgICAgdGhpcy5fem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZmlyc3RPYnNlcnZhYmxlID0gaW50ZXJ2YWwoNTAwKS5zdWJzY3JpYmUoaXQgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNDYWxjdWxhdGVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maXJzdE9ic2VydmFibGUudW5zdWJzY3JpYmUoKTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0aGlzLnJlY2FsY3VsYXRlV2lkdGgoKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2NoYW5nZS5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy5maXJzdE9ic2VydmFibGUpIHJldHVybjtcclxuICAgICAgICB0aGlzLmZpcnN0T2JzZXJ2YWJsZS51bnN1YnNjcmliZSgpO1xyXG4gICAgICAgIHRoaXMuZmlyc3RPYnNlcnZhYmxlID0gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0TnVtYmVyRnJvbUZvbnRTaXplKGZvbnRTaXplOiBzdHJpbmcpOiBudW1iZXIge1xyXG4gICAgICAgIGNvbnN0IG51bWJlclNpemUgPSBOdW1iZXIoZm9udFNpemUuc3Vic3RyKDAsIGZvbnRTaXplLmxlbmd0aCAtIDIpKTtcclxuICAgICAgICByZXR1cm4gbnVtYmVyU2l6ZTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldEZvbnRTaXplRGltKGZvbnRTaXplOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIGxldCBudW06IG51bWJlcjtcclxuICAgICAgICBsZXQgZGltTGVuZ3RoOiBudW1iZXIgPSAwO1xyXG4gICAgICAgIHdoaWxlICghbnVtKSB7XHJcbiAgICAgICAgICAgIGRpbUxlbmd0aCA9IGRpbUxlbmd0aCArIDE7XHJcbiAgICAgICAgICAgIG51bSA9IE51bWJlcihmb250U2l6ZS5zdWJzdHIoMCwgZm9udFNpemUubGVuZ3RoIC0gZGltTGVuZ3RoKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBmb250U2l6ZS5zdWJzdHIoZm9udFNpemUubGVuZ3RoIC0gZGltTGVuZ3RoLCBkaW1MZW5ndGgpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZGl2V2lkdGgodGV4dDogc3RyaW5nLCBmb250OiBzdHJpbmcsIHBhZGRpbmc6IHN0cmluZykge1xyXG4gICAgICAgIGNvbnN0IGYgPSBmb250IHx8ICcxMnB4IGFyaWFsJztcclxuICAgICAgICBjb25zdCBvID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgICAgby5pbm5lckhUTUwgPSB0ZXh0O1xyXG4gICAgICAgIG8uc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnO1xyXG4gICAgICAgIG8uc3R5bGUudmlzaWJpbGl0eSA9ICdoaWRkZW4nO1xyXG4gICAgICAgIG8uc3R5bGVbJ3RleHQtYWxpZ24nXSA9ICdjZW50ZXInO1xyXG4gICAgICAgIG8uc3R5bGUuZm9udCA9IGY7XHJcbiAgICAgICAgby5zdHlsZS5wYWRkaW5nID0gcGFkZGluZztcclxuICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKG8pO1xyXG4gICAgICAgIGNvbnN0IHcgPSBvLmNsaWVudFdpZHRoO1xyXG4gICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQobyk7XHJcbiAgICAgICAgcmV0dXJuIHc7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHJlY2FsY3VsYXRlV2lkdGgoKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmRpdkVsKSByZXR1cm47XHJcbiAgICAgICAgY29uc3QgZGl2VGFnID0gdGhpcy5kaXZFbC5uYXRpdmVFbGVtZW50O1xyXG4gICAgICAgIGlmICgoPGFueT5kaXZUYWcpLmNsaWVudFdpZHRoID09PSAwKSByZXR1cm47XHJcbiAgICAgICAgdGhpcy5pc0NhbGN1bGF0ZWQgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuZG9SZWNhbGN1bGF0ZVdpZHRoKGRpdlRhZyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBkb1JlY2FsY3VsYXRlV2lkdGgoZGl2VGFnOiBIVE1MRWxlbWVudCkge1xyXG4gICAgICAgIGRpdlRhZy5zdHlsZS5mb250U2l6ZSA9ICcnO1xyXG4gICAgICAgIGNvbnN0IHN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZGl2VGFnKTtcclxuICAgICAgICBjb25zdCBhdmFpbGFibGVXaWR0aCA9IGRpdlRhZy5vZmZzZXRQYXJlbnQuY2xpZW50V2lkdGg7XHJcbiAgICAgICAgY29uc3Qgc2l6ZURpbSA9IHRoaXMuZ2V0Rm9udFNpemVEaW0oc3R5bGUuZm9udFNpemUpO1xyXG4gICAgICAgIGNvbnN0IHRleHQgPSBkaXZUYWcudGV4dENvbnRlbnQ7XHJcbiAgICAgICAgbGV0IGZvbnQgPSBzdHlsZS5mb250O1xyXG4gICAgICAgIGxldCB0ZXh0V2lkdGggPSB0aGlzLmRpdldpZHRoKHRleHQsIGZvbnQsIHN0eWxlLnBhZGRpbmcpO1xyXG4gICAgICAgIGNvbnN0IG5lZWRDaGFuZ2U6IGJvb2xlYW4gPSBhdmFpbGFibGVXaWR0aCA8IHRleHRXaWR0aDtcclxuICAgICAgICBsZXQgbnVtYmVyU2l6ZSA9IHRoaXMuZ2V0TnVtYmVyRnJvbUZvbnRTaXplKHN0eWxlLmZvbnRTaXplKTtcclxuICAgICAgICBsZXQgc3RyaW5nU2l6ZSA9IG51bWJlclNpemUudG9TdHJpbmcoKSArIHNpemVEaW07XHJcbiAgICAgICAgd2hpbGUgKHRleHRXaWR0aCAtIGF2YWlsYWJsZVdpZHRoID4gMSkge1xyXG4gICAgICAgICAgICBudW1iZXJTaXplID0gbnVtYmVyU2l6ZSAtIDE7XHJcbiAgICAgICAgICAgIGNvbnN0IG9sZFN0cmluZyA9IHN0cmluZ1NpemU7XHJcbiAgICAgICAgICAgIHN0cmluZ1NpemUgPSBudW1iZXJTaXplLnRvU3RyaW5nKCkgKyBzaXplRGltO1xyXG4gICAgICAgICAgICBmb250ID0gZm9udC5yZXBsYWNlKG9sZFN0cmluZywgc3RyaW5nU2l6ZSk7XHJcbiAgICAgICAgICAgIHRleHRXaWR0aCA9IHRoaXMuZGl2V2lkdGgodGV4dCwgZm9udCwgc3R5bGUucGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChuZWVkQ2hhbmdlKSBkaXZUYWcuc3R5bGUuZm9udFNpemUgPSBzdHJpbmdTaXplO1xyXG4gICAgfVxyXG5cclxuXHJcbn1cclxuIiwiPGRpdiAjZGl2RWwgW25nQ2xhc3NdPVwiZGl2Q2xhc3NcIj57e3RleHR9fTxkaXY+Il19
|