keevo-components 1.8.279 → 1.8.280
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/esm2022/public-api.mjs +2 -2
- package/fesm2022/keevo-components.mjs +1 -213
- package/fesm2022/keevo-components.mjs.map +1 -1
- package/lib/components/kv-table/kv-table.component.d.ts +1 -1
- package/lib/components/kv-table-expandable/kv-table-expandable.component.d.ts +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +0 -1
- package/esm2022/lib/components/kv-avatar/kv-crop-image/kv-crop-image.component.mjs +0 -222
- package/lib/components/kv-avatar/kv-crop-image/kv-crop-image.component.d.ts +0 -39
|
@@ -126,7 +126,7 @@ export declare class KvTableComponent implements OnInit, DoCheck, AfterViewInit
|
|
|
126
126
|
onClickEvent(event: any): void;
|
|
127
127
|
styleSetter(style: string, data: string): void;
|
|
128
128
|
checkMenuFiltro(col: any): void;
|
|
129
|
-
sortByPosition(): (elem1: any, elem2: any) =>
|
|
129
|
+
sortByPosition(): (elem1: any, elem2: any) => 1 | 0 | -1;
|
|
130
130
|
dinamicDisableColumn(col: TableConfigColumn): boolean;
|
|
131
131
|
checkHideColumns(): void;
|
|
132
132
|
getCustomTemplate(templatename: string): TemplateRef<any>;
|
|
@@ -61,7 +61,7 @@ export declare class KvTableExpandableComponent implements OnInit, DoCheck {
|
|
|
61
61
|
onGlobalFilter(table: Table, event: Event): void;
|
|
62
62
|
adicionaAcoesTabela(): void;
|
|
63
63
|
checkMenuFiltro(col: any): void;
|
|
64
|
-
sortByPosition(): (elem1: any, elem2: any) =>
|
|
64
|
+
sortByPosition(): (elem1: any, elem2: any) => 1 | 0 | -1;
|
|
65
65
|
dinamicDisableColumn(col: TableConfigColumn): boolean;
|
|
66
66
|
dinamicColumnSet(e: any, col: any): void;
|
|
67
67
|
addColumn(field: string): void;
|
package/package.json
CHANGED
package/public-api.d.ts
CHANGED
|
@@ -229,5 +229,4 @@ export * from './lib/components/kv-home-card/kv-home-card.module';
|
|
|
229
229
|
* Avatar
|
|
230
230
|
*/
|
|
231
231
|
export * from './lib/components/kv-avatar/kv-avatar.component';
|
|
232
|
-
export * from './lib/components/kv-avatar/kv-crop-image/kv-crop-image.component';
|
|
233
232
|
export * from './lib/components/kv-avatar/kv-avatar.module';
|
|
@@ -1,222 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { Component, HostListener, ViewChild } from '@angular/core';
|
|
3
|
-
import { FormsModule } from '@angular/forms';
|
|
4
|
-
import { BaseComponentCrud, KvModalModule, PrimeNgModule } from 'projects/keevo-components/src/public-api';
|
|
5
|
-
import { KvLabelModule } from '../../kv-label/kv-label.module';
|
|
6
|
-
import { SliderModule } from 'primeng/slider';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "projects/keevo-components/src/public-api";
|
|
9
|
-
import * as i2 from "primeng/dynamicdialog";
|
|
10
|
-
import * as i3 from "@angular/forms";
|
|
11
|
-
import * as i4 from "../../kv-modal/kv-modal.component";
|
|
12
|
-
import * as i5 from "../../kv-label/kv-label.component";
|
|
13
|
-
import * as i6 from "primeng/slider";
|
|
14
|
-
export class KvCropImageComponent extends BaseComponentCrud {
|
|
15
|
-
onWindowResize() {
|
|
16
|
-
this.widthTela = window.innerWidth;
|
|
17
|
-
this.updateCanvasSize();
|
|
18
|
-
}
|
|
19
|
-
constructor(imageService, notificationService, dialogService, dynamicDialogRef, dynamicDialogConfig) {
|
|
20
|
-
super(dialogService, notificationService);
|
|
21
|
-
this.imageService = imageService;
|
|
22
|
-
this.notificationService = notificationService;
|
|
23
|
-
this.dialogService = dialogService;
|
|
24
|
-
this.dynamicDialogRef = dynamicDialogRef;
|
|
25
|
-
this.dynamicDialogConfig = dynamicDialogConfig;
|
|
26
|
-
this.imageLoaded = false;
|
|
27
|
-
this.imageX = 0;
|
|
28
|
-
this.imageY = 0;
|
|
29
|
-
this.startX = 0;
|
|
30
|
-
this.startY = 0;
|
|
31
|
-
this.valueZoom = 50;
|
|
32
|
-
this.scaleFactor = 1;
|
|
33
|
-
this.selectedImage = '';
|
|
34
|
-
this.actionsModal = [
|
|
35
|
-
{
|
|
36
|
-
label: 'Cancelar',
|
|
37
|
-
severity: 'tertiary',
|
|
38
|
-
icon: 'cancel',
|
|
39
|
-
command: (e) => {
|
|
40
|
-
this.dynamicDialogRef.close();
|
|
41
|
-
},
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
label: 'Recortar',
|
|
45
|
-
severity: 'primary',
|
|
46
|
-
icon: 'crop',
|
|
47
|
-
command: (e) => {
|
|
48
|
-
this.cropImage();
|
|
49
|
-
},
|
|
50
|
-
},
|
|
51
|
-
];
|
|
52
|
-
this.widthTela = window.innerWidth;
|
|
53
|
-
this.selectedImage = this.dynamicDialogConfig.data.id.imagemSelecionada;
|
|
54
|
-
this.openCropModal();
|
|
55
|
-
}
|
|
56
|
-
openCropModal() {
|
|
57
|
-
setTimeout(() => {
|
|
58
|
-
const canvas = this.cropCanvas.nativeElement;
|
|
59
|
-
const ctx = canvas.getContext('2d');
|
|
60
|
-
const img = new Image();
|
|
61
|
-
img.src = this.selectedImage;
|
|
62
|
-
img.onload = () => {
|
|
63
|
-
this.imageLoaded = true;
|
|
64
|
-
this.imageX = (canvas.width - img.width * this.scaleFactor) / 2;
|
|
65
|
-
this.imageY = (canvas.height - img.height * this.scaleFactor) / 2;
|
|
66
|
-
canvas.width = this.retornaTamanhoCanvas();
|
|
67
|
-
canvas.height = 400;
|
|
68
|
-
this.redrawCanvas(ctx, img);
|
|
69
|
-
this.initializeImageMove(canvas, ctx, img);
|
|
70
|
-
this.initializeMouseWheel(canvas, ctx, img);
|
|
71
|
-
};
|
|
72
|
-
}, 0);
|
|
73
|
-
}
|
|
74
|
-
redrawCanvas(ctx, img) {
|
|
75
|
-
if (!ctx)
|
|
76
|
-
return;
|
|
77
|
-
ctx.clearRect(0, 0, ctx.canvas.width, ctx.canvas.height);
|
|
78
|
-
ctx.filter = 'blur(5px) opacity(0.9)';
|
|
79
|
-
ctx.drawImage(img, this.imageX, this.imageY, img.width * this.scaleFactor, img.height * this.scaleFactor);
|
|
80
|
-
ctx.filter = 'none';
|
|
81
|
-
this.drawImageInCropArea(ctx, img);
|
|
82
|
-
this.drawCropArea(ctx);
|
|
83
|
-
}
|
|
84
|
-
initializeImageMove(canvas, ctx, img) {
|
|
85
|
-
let isDragging = false;
|
|
86
|
-
canvas.style.cursor = 'grab';
|
|
87
|
-
canvas.onmousedown = (e) => {
|
|
88
|
-
isDragging = true;
|
|
89
|
-
canvas.style.cursor = 'grabbing';
|
|
90
|
-
this.startX = e.offsetX - this.imageX;
|
|
91
|
-
this.startY = e.offsetY - this.imageY;
|
|
92
|
-
};
|
|
93
|
-
canvas.onmousemove = (e) => {
|
|
94
|
-
if (isDragging) {
|
|
95
|
-
this.imageX = e.offsetX - this.startX;
|
|
96
|
-
this.imageY = e.offsetY - this.startY;
|
|
97
|
-
this.redrawCanvas(ctx, img);
|
|
98
|
-
}
|
|
99
|
-
};
|
|
100
|
-
canvas.onmouseup = () => {
|
|
101
|
-
isDragging = false;
|
|
102
|
-
canvas.style.cursor = 'grab';
|
|
103
|
-
};
|
|
104
|
-
canvas.onmouseout = () => {
|
|
105
|
-
isDragging = false;
|
|
106
|
-
canvas.style.cursor = 'grab';
|
|
107
|
-
};
|
|
108
|
-
}
|
|
109
|
-
initializeMouseWheel(canvas, ctx, img) {
|
|
110
|
-
canvas.onwheel = (e) => {
|
|
111
|
-
e.preventDefault();
|
|
112
|
-
const delta = e.deltaY > 0 ? -0.1 : 0.1;
|
|
113
|
-
this.scaleFactor = Math.min(Math.max(this.scaleFactor + delta, 0.1), 5); // limita o fator de escala entre 0.1 e 5
|
|
114
|
-
this.redrawCanvas(ctx, img);
|
|
115
|
-
this.valueZoom = this.scaleFactor * 50;
|
|
116
|
-
};
|
|
117
|
-
}
|
|
118
|
-
drawImageInCropArea(ctx, img) {
|
|
119
|
-
if (!ctx)
|
|
120
|
-
return;
|
|
121
|
-
// Calcula a posição da área de corte
|
|
122
|
-
const cropX = (ctx.canvas.width - 225) / 2;
|
|
123
|
-
const cropY = (ctx.canvas.height - 225) / 2;
|
|
124
|
-
// Desenha a imagem de não desfocada dentro da área de corte
|
|
125
|
-
ctx.save();
|
|
126
|
-
ctx.beginPath();
|
|
127
|
-
ctx.arc(cropX + 112.5, cropY + 112.5, 112.5, 0, Math.PI * 2, true);
|
|
128
|
-
ctx.clip();
|
|
129
|
-
ctx.drawImage(img, this.imageX, this.imageY, img.width * this.scaleFactor, img.height * this.scaleFactor);
|
|
130
|
-
ctx.restore();
|
|
131
|
-
}
|
|
132
|
-
drawCropArea(ctx) {
|
|
133
|
-
if (!ctx)
|
|
134
|
-
return;
|
|
135
|
-
ctx.beginPath();
|
|
136
|
-
const cropX = (ctx.canvas.width - 225) / 2;
|
|
137
|
-
const cropY = (ctx.canvas.height - 225) / 2;
|
|
138
|
-
ctx.arc(cropX + 112.5, cropY + 112.5, 112.5, 0, Math.PI * 2, true);
|
|
139
|
-
ctx.strokeStyle = 'transparent';
|
|
140
|
-
ctx.lineWidth = 2;
|
|
141
|
-
ctx.stroke();
|
|
142
|
-
}
|
|
143
|
-
updateCanvasSize() {
|
|
144
|
-
const canvas = this.cropCanvas.nativeElement;
|
|
145
|
-
const ctx = canvas.getContext('2d');
|
|
146
|
-
const img = new Image();
|
|
147
|
-
img.src = this.selectedImage;
|
|
148
|
-
img.onload = () => {
|
|
149
|
-
this.imageLoaded = true;
|
|
150
|
-
this.imageX = (canvas.width - img.width * this.scaleFactor) / 2;
|
|
151
|
-
this.imageY = (canvas.height - img.height * this.scaleFactor) / 2;
|
|
152
|
-
canvas.width = this.retornaTamanhoCanvas();
|
|
153
|
-
canvas.height = 400;
|
|
154
|
-
this.redrawCanvas(ctx, img);
|
|
155
|
-
};
|
|
156
|
-
}
|
|
157
|
-
onZoomChange(event) {
|
|
158
|
-
const canvas = this.cropCanvas.nativeElement;
|
|
159
|
-
const ctx = canvas.getContext('2d');
|
|
160
|
-
const img = new Image();
|
|
161
|
-
img.src = this.selectedImage;
|
|
162
|
-
img.onload = () => {
|
|
163
|
-
this.scaleFactor = event.value / 50;
|
|
164
|
-
this.redrawCanvas(ctx, img);
|
|
165
|
-
};
|
|
166
|
-
}
|
|
167
|
-
cropImage() {
|
|
168
|
-
const canvas = this.cropCanvas.nativeElement;
|
|
169
|
-
const ctx = canvas.getContext('2d');
|
|
170
|
-
if (ctx) {
|
|
171
|
-
const centerX = canvas.width / 2;
|
|
172
|
-
const centerY = canvas.height / 2;
|
|
173
|
-
const radius = 100;
|
|
174
|
-
const imageData = ctx.getImageData(centerX - radius, centerY - radius, radius * 2, radius * 2);
|
|
175
|
-
const newCanvas = document.createElement('canvas');
|
|
176
|
-
const newCtx = newCanvas.getContext('2d');
|
|
177
|
-
newCanvas.width = radius * 2;
|
|
178
|
-
newCanvas.height = radius * 2;
|
|
179
|
-
newCtx?.putImageData(imageData, 0, 0);
|
|
180
|
-
this.selectedImage = newCanvas.toDataURL();
|
|
181
|
-
this.enviarDados();
|
|
182
|
-
this.dynamicDialogRef.close(this.selectedImage);
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
enviarDados() {
|
|
186
|
-
const arr = this.dialogService.dialogComponentRefMap;
|
|
187
|
-
const entries = arr.entries();
|
|
188
|
-
const firstEntry = entries.next().value;
|
|
189
|
-
const [firstKey, firstValue] = firstEntry;
|
|
190
|
-
const instance = this.dialogService.getInstance(firstKey);
|
|
191
|
-
instance.config.data.id.imagemCortada = this.selectedImage;
|
|
192
|
-
}
|
|
193
|
-
retornaTamanhoCanvas() {
|
|
194
|
-
if (this.widthTela < 500) {
|
|
195
|
-
return this.widthTela * 0.7;
|
|
196
|
-
}
|
|
197
|
-
return this.widthTela * 0.4;
|
|
198
|
-
}
|
|
199
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvCropImageComponent, deps: [{ token: i1.ImagensService }, { token: i1.NotificationService }, { token: i2.DialogService }, { token: i2.DynamicDialogRef }, { token: i2.DynamicDialogConfig }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
200
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: KvCropImageComponent, isStandalone: true, selector: "kv-crop-image", host: { listeners: { "window:resize": "onWindowResize($event)" } }, viewQueries: [{ propertyName: "cropCanvas", first: true, predicate: ["cropCanvas"], descendants: true }, { propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<kv-modal [actions]=\"actionsModal\">\r\n <div class=\"crop-container\">\r\n <canvas #cropCanvas class=\"crop-canvas\"></canvas>\r\n <div class=\"crop-border\"></div>\r\n </div>\r\n \r\n <div class=\"w-full zoom-container\">\r\n <kv-label label=\"Zoom\" style=\"text-align: left;\"/>\r\n <p-slider [(ngModel)]=\"valueZoom\" (onChange)=\"onZoomChange($event)\"></p-slider>\r\n </div>\r\n</kv-modal>\r\n", styles: [".crop-container{display:flex;justify-content:center;align-items:center}.crop-canvas{border:1px solid black;border-radius:12px}.crop-border{position:absolute;width:225px;height:225px;border:2px solid black;border-radius:50%;pointer-events:none}.zoom-container{padding-top:20px;padding-bottom:20px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: KvModalModule }, { kind: "component", type: i4.KvModalComponent, selector: "kv-modal", inputs: ["actions", "actionsPosition", "subtitle", "subHeader"] }, { kind: "ngmodule", type: PrimeNgModule }, { kind: "ngmodule", type: KvLabelModule }, { kind: "component", type: i5.KvLabelComponent, selector: "kv-label", inputs: ["componentId", "label"] }, { kind: "ngmodule", type: SliderModule }, { kind: "component", type: i6.Slider, selector: "p-slider", inputs: ["animate", "disabled", "min", "max", "orientation", "step", "range", "style", "styleClass", "ariaLabel", "ariaLabelledBy", "tabindex", "autofocus"], outputs: ["onChange", "onSlideEnd"] }] }); }
|
|
201
|
-
}
|
|
202
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvCropImageComponent, decorators: [{
|
|
203
|
-
type: Component,
|
|
204
|
-
args: [{ selector: 'kv-crop-image', standalone: true, imports: [
|
|
205
|
-
CommonModule,
|
|
206
|
-
FormsModule,
|
|
207
|
-
KvModalModule,
|
|
208
|
-
PrimeNgModule,
|
|
209
|
-
KvLabelModule,
|
|
210
|
-
SliderModule
|
|
211
|
-
], template: "<kv-modal [actions]=\"actionsModal\">\r\n <div class=\"crop-container\">\r\n <canvas #cropCanvas class=\"crop-canvas\"></canvas>\r\n <div class=\"crop-border\"></div>\r\n </div>\r\n \r\n <div class=\"w-full zoom-container\">\r\n <kv-label label=\"Zoom\" style=\"text-align: left;\"/>\r\n <p-slider [(ngModel)]=\"valueZoom\" (onChange)=\"onZoomChange($event)\"></p-slider>\r\n </div>\r\n</kv-modal>\r\n", styles: [".crop-container{display:flex;justify-content:center;align-items:center}.crop-canvas{border:1px solid black;border-radius:12px}.crop-border{position:absolute;width:225px;height:225px;border:2px solid black;border-radius:50%;pointer-events:none}.zoom-container{padding-top:20px;padding-bottom:20px}\n"] }]
|
|
212
|
-
}], ctorParameters: () => [{ type: i1.ImagensService }, { type: i1.NotificationService }, { type: i2.DialogService }, { type: i2.DynamicDialogRef }, { type: i2.DynamicDialogConfig }], propDecorators: { onWindowResize: [{
|
|
213
|
-
type: HostListener,
|
|
214
|
-
args: ['window:resize', ['$event']]
|
|
215
|
-
}], cropCanvas: [{
|
|
216
|
-
type: ViewChild,
|
|
217
|
-
args: ['cropCanvas']
|
|
218
|
-
}], fileInput: [{
|
|
219
|
-
type: ViewChild,
|
|
220
|
-
args: ['fileInput']
|
|
221
|
-
}] } });
|
|
222
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtY3JvcC1pbWFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZWV2by1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9rdi1hdmF0YXIva3YtY3JvcC1pbWFnZS9rdi1jcm9wLWltYWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LWF2YXRhci9rdi1jcm9wLWltYWdlL2t2LWNyb3AtaW1hZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQTBDLFlBQVksRUFBaUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFILE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxPQUFPLEVBQWMsaUJBQWlCLEVBQWtCLGFBQWEsRUFBdUIsYUFBYSxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDNUosT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7QUFnQjlDLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxpQkFBaUI7SUFHekQsY0FBYztRQUNaLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQztRQUNuQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsWUFBbUIsWUFBNEIsRUFDekIsbUJBQXdDLEVBQ3hDLGFBQTRCLEVBQzVCLGdCQUFrQyxFQUNsQyxtQkFBd0M7UUFDMUQsS0FBSyxDQUFDLGFBQWEsRUFBRSxtQkFBbUIsQ0FBQyxDQUFBO1FBTDFC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O0lBQzlCLENBQUM7OEdBeE5VLG9CQUFvQjtrR0FBcEIsb0JBQW9CLHVXQ3RCakMsb2JBV0EsbVdER0ksWUFBWSw4QkFDWixXQUFXLDhWQUNYLGFBQWEsdUtBQ2IsYUFBYSw4QkFDYixhQUFhLHdJQUNiLFlBQVk7OzJGQUdILG9CQUFvQjtrQkFkaEMsU0FBUzsrQkFDRSxlQUFlLGNBR2IsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixZQUFZO3FCQUNiO2tOQUtELGNBQWM7c0JBRGIsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBOEJoQixVQUFVO3NCQUFsQyxTQUFTO3VCQUFDLFlBQVk7Z0JBQ0MsU0FBUztzQkFBaEMsU0FBUzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBDb21wb25lbnRSZWYsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UsIER5bmFtaWNEaWFsb2dDb25maWcsIER5bmFtaWNEaWFsb2dSZWYgfSBmcm9tICdwcmltZW5nL2R5bmFtaWNkaWFsb2cnO1xyXG5pbXBvcnQgeyBBY3Rpb25JdGVtLCBCYXNlQ29tcG9uZW50Q3J1ZCwgSW1hZ2Vuc1NlcnZpY2UsIEt2TW9kYWxNb2R1bGUsIE5vdGlmaWNhdGlvblNlcnZpY2UsIFByaW1lTmdNb2R1bGUgfSBmcm9tICdwcm9qZWN0cy9rZWV2by1jb21wb25lbnRzL3NyYy9wdWJsaWMtYXBpJztcclxuaW1wb3J0IHsgS3ZMYWJlbE1vZHVsZSB9IGZyb20gJy4uLy4uL2t2LWxhYmVsL2t2LWxhYmVsLm1vZHVsZSc7XHJcbmltcG9ydCB7IFNsaWRlck1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvc2xpZGVyJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAna3YtY3JvcC1pbWFnZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2t2LWNyb3AtaW1hZ2UuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9rdi1jcm9wLWltYWdlLmNvbXBvbmVudC5zY3NzJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLCBcclxuICAgIEt2TW9kYWxNb2R1bGUsXHJcbiAgICBQcmltZU5nTW9kdWxlLFxyXG4gICAgS3ZMYWJlbE1vZHVsZSxcclxuICAgIFNsaWRlck1vZHVsZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEt2Q3JvcEltYWdlQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudENydWQge1xyXG5cclxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcclxuICBvbldpbmRvd1Jlc2l6ZSgpIHtcclxuICAgIHRoaXMud2lkdGhUZWxhID0gd2luZG93LmlubmVyV2lkdGg7XHJcbiAgICB0aGlzLnVwZGF0ZUNhbnZhc1NpemUoKTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBpbWFnZVNlcnZpY2U6IEltYWdlbnNTZXJ2aWNlLCBcclxuICAgICAgb3ZlcnJpZGUgcmVhZG9ubHkgbm90aWZpY2F0aW9uU2VydmljZTogTm90aWZpY2F0aW9uU2VydmljZSwgXHJcbiAgICAgIG92ZXJyaWRlIHJlYWRvbmx5IGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsXHJcbiAgICAgIHByaXZhdGUgIHJlYWRvbmx5IGR5bmFtaWNEaWFsb2dSZWY6IER5bmFtaWNEaWFsb2dSZWYsXHJcbiAgICAgIHByaXZhdGUgIHJlYWRvbmx5IGR5bmFtaWNEaWFsb2dDb25maWc6IER5bmFtaWNEaWFsb2dDb25maWcsXHJcbiAgKSB7IHN1cGVyKGRpYWxvZ1NlcnZpY2UsIG5vdGlmaWNhdGlvblNlcnZpY2UpIFxyXG5cclxuICAgIHRoaXMud2lkdGhUZWxhID0gd2luZG93LmlubmVyV2lkdGg7IFxyXG4gICAgdGhpcy5zZWxlY3RlZEltYWdlID0gdGhpcy5keW5hbWljRGlhbG9nQ29uZmlnLmRhdGEuaWQuaW1hZ2VtU2VsZWNpb25hZGE7XHJcbiAgICB0aGlzLm9wZW5Dcm9wTW9kYWwoKTtcclxuICB9XHJcblxyXG4gIHdpZHRoVGVsYSE6IG51bWJlcjtcclxuICBoZWlnaHRUZWxhITogbnVtYmVyO1xyXG4gIGltYWdlTG9hZGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgaW1hZ2VYOiBudW1iZXIgPSAwO1xyXG4gIGltYWdlWTogbnVtYmVyID0gMDtcclxuICBzdGFydFg6IG51bWJlciA9IDA7XHJcbiAgc3RhcnRZOiBudW1iZXIgPSAwO1xyXG4gIHZhbHVlWm9vbTogbnVtYmVyID0gNTA7XHJcbiAgc2NhbGVGYWN0b3I6IG51bWJlciA9IDE7XHJcblxyXG4gIHNlbGVjdGVkSW1hZ2U6IHN0cmluZyA9ICcnO1xyXG5cclxuICBAVmlld0NoaWxkKCdjcm9wQ2FudmFzJykgY3JvcENhbnZhcyE6IEVsZW1lbnRSZWY8SFRNTENhbnZhc0VsZW1lbnQ+O1xyXG4gIEBWaWV3Q2hpbGQoJ2ZpbGVJbnB1dCcpIGZpbGVJbnB1dCE6IEVsZW1lbnRSZWY7XHJcblxyXG4gIGFjdGlvbnNNb2RhbDogQWN0aW9uSXRlbVtdID0gW1xyXG4gICAge1xyXG4gICAgICBsYWJlbDogJ0NhbmNlbGFyJyxcclxuICAgICAgc2V2ZXJpdHk6ICd0ZXJ0aWFyeScsXHJcbiAgICAgIGljb246ICdjYW5jZWwnLFxyXG4gICAgICBjb21tYW5kOiAoZTogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5keW5hbWljRGlhbG9nUmVmLmNsb3NlKClcclxuICAgICAgfSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGxhYmVsOiAnUmVjb3J0YXInLFxyXG4gICAgICBzZXZlcml0eTogJ3ByaW1hcnknLFxyXG4gICAgICBpY29uOiAnY3JvcCcsXHJcbiAgICAgIGNvbW1hbmQ6IChlOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLmNyb3BJbWFnZSgpXHJcbiAgICAgIH0sXHJcbiAgICB9LFxyXG4gICBcclxuICBdO1xyXG5cclxuICBvcGVuQ3JvcE1vZGFsKCkge1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgY2FudmFzID0gdGhpcy5jcm9wQ2FudmFzLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICAgICAgY29uc3QgY3R4ID0gY2FudmFzLmdldENvbnRleHQoJzJkJyk7XHJcbiAgICAgICAgY29uc3QgaW1nID0gbmV3IEltYWdlKCk7XHJcbiAgICAgICAgaW1nLnNyYyA9IHRoaXMuc2VsZWN0ZWRJbWFnZTtcclxuICAgICAgICBpbWcub25sb2FkID0gKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmltYWdlTG9hZGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5pbWFnZVggPSAoY2FudmFzLndpZHRoIC0gaW1nLndpZHRoICogdGhpcy5zY2FsZUZhY3RvcikgLyAyO1xyXG4gICAgICAgICAgICB0aGlzLmltYWdlWSA9IChjYW52YXMuaGVpZ2h0IC0gaW1nLmhlaWdodCAqIHRoaXMuc2NhbGVGYWN0b3IpIC8gMjtcclxuICAgICAgICAgICAgY2FudmFzLndpZHRoID0gdGhpcy5yZXRvcm5hVGFtYW5ob0NhbnZhcygpO1xyXG4gICAgICAgICAgICBjYW52YXMuaGVpZ2h0ID0gNDAwO1xyXG4gICAgICAgICAgICB0aGlzLnJlZHJhd0NhbnZhcyhjdHgsIGltZyk7XHJcbiAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZUltYWdlTW92ZShjYW52YXMsIGN0eCwgaW1nKTtcclxuICAgICAgICAgICAgdGhpcy5pbml0aWFsaXplTW91c2VXaGVlbChjYW52YXMsIGN0eCwgaW1nKTtcclxuICAgICAgICB9O1xyXG4gICAgfSwgMCk7XHJcbiAgfVxyXG5cclxuICByZWRyYXdDYW52YXMoY3R4OiBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQgfCBudWxsLCBpbWc6IEhUTUxJbWFnZUVsZW1lbnQpIHtcclxuICAgIGlmICghY3R4KSByZXR1cm47XHJcbiAgICBjdHguY2xlYXJSZWN0KDAsIDAsIGN0eC5jYW52YXMud2lkdGgsIGN0eC5jYW52YXMuaGVpZ2h0KTtcclxuXHJcbiAgICBjdHguZmlsdGVyID0gJ2JsdXIoNXB4KSBvcGFjaXR5KDAuOSknO1xyXG4gICAgXHJcbiAgICBjdHguZHJhd0ltYWdlKGltZywgdGhpcy5pbWFnZVgsIHRoaXMuaW1hZ2VZLCBpbWcud2lkdGggKiB0aGlzLnNjYWxlRmFjdG9yLCBpbWcuaGVpZ2h0ICogdGhpcy5zY2FsZUZhY3Rvcik7XHJcbiAgICBjdHguZmlsdGVyID0gJ25vbmUnO1xyXG4gICAgXHJcbiAgICB0aGlzLmRyYXdJbWFnZUluQ3JvcEFyZWEoY3R4LCBpbWcpO1xyXG5cclxuICAgIHRoaXMuZHJhd0Nyb3BBcmVhKGN0eCk7XHJcbiAgfVxyXG5cclxuICBpbml0aWFsaXplSW1hZ2VNb3ZlKGNhbnZhczogSFRNTENhbnZhc0VsZW1lbnQsIGN0eDogQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIHwgbnVsbCwgaW1nOiBIVE1MSW1hZ2VFbGVtZW50KSB7XHJcbiAgICBsZXQgaXNEcmFnZ2luZyA9IGZhbHNlO1xyXG5cclxuICAgIGNhbnZhcy5zdHlsZS5jdXJzb3IgPSAnZ3JhYic7XHJcblxyXG4gICAgY2FudmFzLm9ubW91c2Vkb3duID0gKGUpID0+IHtcclxuICAgICAgICBpc0RyYWdnaW5nID0gdHJ1ZTtcclxuICAgICAgICBjYW52YXMuc3R5bGUuY3Vyc29yID0gJ2dyYWJiaW5nJzsgXHJcbiAgICAgICAgdGhpcy5zdGFydFggPSBlLm9mZnNldFggLSB0aGlzLmltYWdlWDtcclxuICAgICAgICB0aGlzLnN0YXJ0WSA9IGUub2Zmc2V0WSAtIHRoaXMuaW1hZ2VZO1xyXG4gICAgfTtcclxuXHJcbiAgICBjYW52YXMub25tb3VzZW1vdmUgPSAoZSkgPT4ge1xyXG4gICAgICAgIGlmIChpc0RyYWdnaW5nKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaW1hZ2VYID0gZS5vZmZzZXRYIC0gdGhpcy5zdGFydFg7XHJcbiAgICAgICAgICAgIHRoaXMuaW1hZ2VZID0gZS5vZmZzZXRZIC0gdGhpcy5zdGFydFk7XHJcbiAgICAgICAgICAgIHRoaXMucmVkcmF3Q2FudmFzKGN0eCwgaW1nKTtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG5cclxuICAgIGNhbnZhcy5vbm1vdXNldXAgPSAoKSA9PiB7XHJcbiAgICAgICAgaXNEcmFnZ2luZyA9IGZhbHNlO1xyXG4gICAgICAgIGNhbnZhcy5zdHlsZS5jdXJzb3IgPSAnZ3JhYic7XHJcbiAgICB9O1xyXG5cclxuICAgIGNhbnZhcy5vbm1vdXNlb3V0ID0gKCkgPT4ge1xyXG4gICAgICAgIGlzRHJhZ2dpbmcgPSBmYWxzZTtcclxuICAgICAgICBjYW52YXMuc3R5bGUuY3Vyc29yID0gJ2dyYWInO1xyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGluaXRpYWxpemVNb3VzZVdoZWVsKGNhbnZhczogSFRNTENhbnZhc0VsZW1lbnQsIGN0eDogQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIHwgbnVsbCwgaW1nOiBIVE1MSW1hZ2VFbGVtZW50KSB7XHJcbiAgICBjYW52YXMub253aGVlbCA9IChlKSA9PiB7XHJcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgIGNvbnN0IGRlbHRhID0gZS5kZWx0YVkgPiAwID8gLTAuMSA6IDAuMTtcclxuICAgICAgICB0aGlzLnNjYWxlRmFjdG9yID0gTWF0aC5taW4oTWF0aC5tYXgodGhpcy5zY2FsZUZhY3RvciArIGRlbHRhLCAwLjEpLCA1KTsgLy8gbGltaXRhIG8gZmF0b3IgZGUgZXNjYWxhIGVudHJlIDAuMSBlIDVcclxuICAgICAgICB0aGlzLnJlZHJhd0NhbnZhcyhjdHgsIGltZyk7XHJcbiAgICAgICAgdGhpcy52YWx1ZVpvb20gPSB0aGlzLnNjYWxlRmFjdG9yICogNTA7XHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgZHJhd0ltYWdlSW5Dcm9wQXJlYShjdHg6IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCB8IG51bGwsIGltZzogSFRNTEltYWdlRWxlbWVudCkge1xyXG4gICAgICBpZiAoIWN0eCkgcmV0dXJuO1xyXG5cclxuICAgICAgLy8gQ2FsY3VsYSBhIHBvc2nDp8OjbyBkYSDDoXJlYSBkZSBjb3J0ZVxyXG4gICAgICBjb25zdCBjcm9wWCA9IChjdHguY2FudmFzLndpZHRoIC0gMjI1KSAvIDI7XHJcbiAgICAgIGNvbnN0IGNyb3BZID0gKGN0eC5jYW52YXMuaGVpZ2h0IC0gMjI1KSAvIDI7XHJcblxyXG4gICAgICAvLyBEZXNlbmhhIGEgaW1hZ2VtIGRlIG7Do28gZGVzZm9jYWRhIGRlbnRybyBkYSDDoXJlYSBkZSBjb3J0ZVxyXG4gICAgICBjdHguc2F2ZSgpO1xyXG4gICAgICBjdHguYmVnaW5QYXRoKCk7XHJcbiAgICAgIGN0eC5hcmMoY3JvcFggKyAxMTIuNSwgY3JvcFkgKyAxMTIuNSwgMTEyLjUsIDAsIE1hdGguUEkgKiAyLCB0cnVlKTtcclxuICAgICAgY3R4LmNsaXAoKTtcclxuICAgICAgY3R4LmRyYXdJbWFnZShpbWcsIHRoaXMuaW1hZ2VYLCB0aGlzLmltYWdlWSwgaW1nLndpZHRoICogdGhpcy5zY2FsZUZhY3RvciwgaW1nLmhlaWdodCAqIHRoaXMuc2NhbGVGYWN0b3IpO1xyXG4gICAgICBjdHgucmVzdG9yZSgpO1xyXG4gIH1cclxuXHJcbiAgZHJhd0Nyb3BBcmVhKGN0eDogQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIHwgbnVsbCkge1xyXG4gICAgICBpZiAoIWN0eCkgcmV0dXJuO1xyXG4gICAgICBjdHguYmVnaW5QYXRoKCk7XHJcbiAgICAgIGNvbnN0IGNyb3BYID0gKGN0eC5jYW52YXMud2lkdGggLSAyMjUpIC8gMjtcclxuICAgICAgY29uc3QgY3JvcFkgPSAoY3R4LmNhbnZhcy5oZWlnaHQgLSAyMjUpIC8gMjtcclxuICAgICAgY3R4LmFyYyhjcm9wWCArIDExMi41LCBjcm9wWSArIDExMi41LCAxMTIuNSwgMCwgTWF0aC5QSSAqIDIsIHRydWUpO1xyXG4gICAgICBjdHguc3Ryb2tlU3R5bGUgPSAndHJhbnNwYXJlbnQnO1xyXG4gICAgICBjdHgubGluZVdpZHRoID0gMjtcclxuICAgICAgY3R4LnN0cm9rZSgpO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlQ2FudmFzU2l6ZSgpIHtcclxuICAgICAgY29uc3QgY2FudmFzID0gdGhpcy5jcm9wQ2FudmFzLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICAgIGNvbnN0IGN0eCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpO1xyXG4gICAgICBjb25zdCBpbWcgPSBuZXcgSW1hZ2UoKTtcclxuICAgICAgaW1nLnNyYyA9IHRoaXMuc2VsZWN0ZWRJbWFnZTtcclxuICAgICAgaW1nLm9ubG9hZCA9ICgpID0+IHtcclxuICAgICAgICAgIHRoaXMuaW1hZ2VMb2FkZWQgPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy5pbWFnZVggPSAoY2FudmFzLndpZHRoIC0gaW1nLndpZHRoICogdGhpcy5zY2FsZUZhY3RvcikgLyAyO1xyXG4gICAgICAgICAgdGhpcy5pbWFnZVkgPSAoY2FudmFzLmhlaWdodCAtIGltZy5oZWlnaHQgKiB0aGlzLnNjYWxlRmFjdG9yKSAvIDI7XHJcbiAgICAgICAgICBjYW52YXMud2lkdGggPSB0aGlzLnJldG9ybmFUYW1hbmhvQ2FudmFzKCk7XHJcbiAgICAgICAgICBjYW52YXMuaGVpZ2h0ID0gNDAwO1xyXG4gICAgICAgICAgdGhpcy5yZWRyYXdDYW52YXMoY3R4LCBpbWcpO1xyXG4gICAgICB9O1xyXG4gIH1cclxuXHJcbiAgb25ab29tQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIGNvbnN0IGNhbnZhcyA9IHRoaXMuY3JvcENhbnZhcy5uYXRpdmVFbGVtZW50O1xyXG4gICAgY29uc3QgY3R4ID0gY2FudmFzLmdldENvbnRleHQoJzJkJyk7XHJcbiAgICBjb25zdCBpbWcgPSBuZXcgSW1hZ2UoKTtcclxuICAgIGltZy5zcmMgPSB0aGlzLnNlbGVjdGVkSW1hZ2U7XHJcbiAgICBpbWcub25sb2FkID0gKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2NhbGVGYWN0b3IgPSBldmVudC52YWx1ZSAvIDUwO1xyXG4gICAgICAgIHRoaXMucmVkcmF3Q2FudmFzKGN0eCwgaW1nKTtcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBjcm9wSW1hZ2UoKSB7XHJcbiAgICBjb25zdCBjYW52YXMgPSB0aGlzLmNyb3BDYW52YXMubmF0aXZlRWxlbWVudDtcclxuICAgIGNvbnN0IGN0eCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpO1xyXG4gICAgaWYgKGN0eCkge1xyXG4gICAgICBjb25zdCBjZW50ZXJYID0gY2FudmFzLndpZHRoIC8gMjtcclxuICAgICAgY29uc3QgY2VudGVyWSA9IGNhbnZhcy5oZWlnaHQgLyAyO1xyXG4gICAgICBjb25zdCByYWRpdXMgPSAxMDA7XHJcbiAgICAgIGNvbnN0IGltYWdlRGF0YSA9IGN0eC5nZXRJbWFnZURhdGEoY2VudGVyWCAtIHJhZGl1cywgY2VudGVyWSAtIHJhZGl1cywgcmFkaXVzICogMiwgcmFkaXVzICogMik7XHJcbiAgICAgIGNvbnN0IG5ld0NhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xyXG4gICAgICBjb25zdCBuZXdDdHggPSBuZXdDYW52YXMuZ2V0Q29udGV4dCgnMmQnKTtcclxuICAgICAgbmV3Q2FudmFzLndpZHRoID0gcmFkaXVzICogMjtcclxuICAgICAgbmV3Q2FudmFzLmhlaWdodCA9IHJhZGl1cyAqIDI7XHJcbiAgICAgIG5ld0N0eD8ucHV0SW1hZ2VEYXRhKGltYWdlRGF0YSwgMCwgMCk7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRJbWFnZSA9IG5ld0NhbnZhcy50b0RhdGFVUkwoKTtcclxuICAgICAgdGhpcy5lbnZpYXJEYWRvcygpXHJcbiAgICAgIHRoaXMuZHluYW1pY0RpYWxvZ1JlZi5jbG9zZSh0aGlzLnNlbGVjdGVkSW1hZ2UpXHJcbiAgICB9XHJcbiAgfSAgICBcclxuXHJcbiAgZW52aWFyRGFkb3MoKXtcclxuICAgIGNvbnN0IGFycjogTWFwPER5bmFtaWNEaWFsb2dSZWY8YW55PiwgQ29tcG9uZW50UmVmPGFueT4+ID0gdGhpcy5kaWFsb2dTZXJ2aWNlLmRpYWxvZ0NvbXBvbmVudFJlZk1hcFxyXG4gICAgY29uc3QgZW50cmllcyA9IGFyci5lbnRyaWVzKCk7XHJcbiAgICBjb25zdCBmaXJzdEVudHJ5ID0gZW50cmllcy5uZXh0KCkudmFsdWU7XHJcbiAgICBjb25zdCBbZmlyc3RLZXksIGZpcnN0VmFsdWVdID0gZmlyc3RFbnRyeTtcclxuICAgIGNvbnN0IGluc3RhbmNlID0gdGhpcy5kaWFsb2dTZXJ2aWNlLmdldEluc3RhbmNlKGZpcnN0S2V5KVxyXG5cclxuICAgIGluc3RhbmNlLmNvbmZpZy5kYXRhLmlkLmltYWdlbUNvcnRhZGEgPSB0aGlzLnNlbGVjdGVkSW1hZ2VcclxuICB9IFxyXG5cclxuICByZXRvcm5hVGFtYW5ob0NhbnZhcygpOiBudW1iZXIge1xyXG4gICAgaWYodGhpcy53aWR0aFRlbGEgPCA1MDApIHtcclxuICAgIHJldHVybiAgdGhpcy53aWR0aFRlbGEgKiAwLjc7XHJcbiAgICB9IFxyXG4gICAgcmV0dXJuIHRoaXMud2lkdGhUZWxhICogMC40O1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGt2LW1vZGFsIFthY3Rpb25zXT1cImFjdGlvbnNNb2RhbFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNyb3AtY29udGFpbmVyXCI+XHJcbiAgICAgIDxjYW52YXMgI2Nyb3BDYW52YXMgY2xhc3M9XCJjcm9wLWNhbnZhc1wiPjwvY2FudmFzPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY3JvcC1ib3JkZXJcIj48L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIFxyXG4gICAgPGRpdiBjbGFzcz1cInctZnVsbCB6b29tLWNvbnRhaW5lclwiPlxyXG4gICAgICA8a3YtbGFiZWwgbGFiZWw9XCJab29tXCIgc3R5bGU9XCJ0ZXh0LWFsaWduOiBsZWZ0O1wiLz5cclxuICAgICAgPHAtc2xpZGVyIFsobmdNb2RlbCldPVwidmFsdWVab29tXCIgKG9uQ2hhbmdlKT1cIm9uWm9vbUNoYW5nZSgkZXZlbnQpXCI+PC9wLXNsaWRlcj5cclxuICAgIDwvZGl2PlxyXG48L2t2LW1vZGFsPlxyXG4iXX0=
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { ElementRef } from '@angular/core';
|
|
2
|
-
import { DialogService, DynamicDialogConfig, DynamicDialogRef } from 'primeng/dynamicdialog';
|
|
3
|
-
import { ActionItem, BaseComponentCrud, ImagensService, NotificationService } from 'projects/keevo-components/src/public-api';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export declare class KvCropImageComponent extends BaseComponentCrud {
|
|
6
|
-
imageService: ImagensService;
|
|
7
|
-
readonly notificationService: NotificationService;
|
|
8
|
-
readonly dialogService: DialogService;
|
|
9
|
-
private readonly dynamicDialogRef;
|
|
10
|
-
private readonly dynamicDialogConfig;
|
|
11
|
-
onWindowResize(): void;
|
|
12
|
-
constructor(imageService: ImagensService, notificationService: NotificationService, dialogService: DialogService, dynamicDialogRef: DynamicDialogRef, dynamicDialogConfig: DynamicDialogConfig);
|
|
13
|
-
widthTela: number;
|
|
14
|
-
heightTela: number;
|
|
15
|
-
imageLoaded: boolean;
|
|
16
|
-
imageX: number;
|
|
17
|
-
imageY: number;
|
|
18
|
-
startX: number;
|
|
19
|
-
startY: number;
|
|
20
|
-
valueZoom: number;
|
|
21
|
-
scaleFactor: number;
|
|
22
|
-
selectedImage: string;
|
|
23
|
-
cropCanvas: ElementRef<HTMLCanvasElement>;
|
|
24
|
-
fileInput: ElementRef;
|
|
25
|
-
actionsModal: ActionItem[];
|
|
26
|
-
openCropModal(): void;
|
|
27
|
-
redrawCanvas(ctx: CanvasRenderingContext2D | null, img: HTMLImageElement): void;
|
|
28
|
-
initializeImageMove(canvas: HTMLCanvasElement, ctx: CanvasRenderingContext2D | null, img: HTMLImageElement): void;
|
|
29
|
-
initializeMouseWheel(canvas: HTMLCanvasElement, ctx: CanvasRenderingContext2D | null, img: HTMLImageElement): void;
|
|
30
|
-
drawImageInCropArea(ctx: CanvasRenderingContext2D | null, img: HTMLImageElement): void;
|
|
31
|
-
drawCropArea(ctx: CanvasRenderingContext2D | null): void;
|
|
32
|
-
updateCanvasSize(): void;
|
|
33
|
-
onZoomChange(event: any): void;
|
|
34
|
-
cropImage(): void;
|
|
35
|
-
enviarDados(): void;
|
|
36
|
-
retornaTamanhoCanvas(): number;
|
|
37
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<KvCropImageComponent, never>;
|
|
38
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<KvCropImageComponent, "kv-crop-image", never, {}, {}, never, never, true, never>;
|
|
39
|
-
}
|