@pepperi-addons/ngx-lib 0.4.2-beta.33 → 0.4.2-beta.35
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/files-uploader/files-uploader.component.mjs +14 -2
- package/esm2020/signature/signature-dialog.component.mjs +8 -6
- package/fesm2015/pepperi-addons-ngx-lib-files-uploader.mjs +13 -1
- package/fesm2015/pepperi-addons-ngx-lib-files-uploader.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-signature.mjs +8 -6
- package/fesm2015/pepperi-addons-ngx-lib-signature.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-files-uploader.mjs +13 -1
- package/fesm2020/pepperi-addons-ngx-lib-files-uploader.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-signature.mjs +7 -5
- package/fesm2020/pepperi-addons-ngx-lib-signature.mjs.map +1 -1
- package/files-uploader/files-uploader.component.d.ts +1 -0
- package/package.json +1 -1
- package/signature/signature-dialog.component.d.ts +1 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Component, Injectable, Input, Output, EventEmitter, ViewChild, ChangeDetectionStrategy, } from '@angular/core';
|
|
2
2
|
import { FileUploader } from 'ng2-file-upload';
|
|
3
|
-
import { DEFAULT_HORIZONTAL_ALIGNMENT, } from '@pepperi-addons/ngx-lib';
|
|
3
|
+
import { DEFAULT_HORIZONTAL_ALIGNMENT, PepFieldBase, } from '@pepperi-addons/ngx-lib';
|
|
4
4
|
import { PepDialogData, } from '@pepperi-addons/ngx-lib/dialog';
|
|
5
5
|
import { pepIconNoImage2 } from '@pepperi-addons/ngx-lib/icon';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
@@ -94,7 +94,19 @@ export class PepFilesUploaderComponent {
|
|
|
94
94
|
const extension = filename.substring(filename.lastIndexOf('.') + 1, filename.length);
|
|
95
95
|
return extension;
|
|
96
96
|
}
|
|
97
|
+
setDefaultForm() {
|
|
98
|
+
const pepField = new PepFieldBase({
|
|
99
|
+
key: this.key,
|
|
100
|
+
value: this.src,
|
|
101
|
+
mandatory: this.mandatory,
|
|
102
|
+
disabled: this.disabled,
|
|
103
|
+
});
|
|
104
|
+
this.form = this.customizationService.getDefaultFromGroup(pepField);
|
|
105
|
+
}
|
|
97
106
|
ngOnInit() {
|
|
107
|
+
if (this.form === null) {
|
|
108
|
+
this.setDefaultForm();
|
|
109
|
+
}
|
|
98
110
|
/*this.uploader.onCompleteAll = () => {
|
|
99
111
|
this.fileInput.nativeElement.value = '';
|
|
100
112
|
}*/
|
|
@@ -252,4 +264,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
252
264
|
type: ViewChild,
|
|
253
265
|
args: ['imagePreview']
|
|
254
266
|
}] } });
|
|
255
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZXMtdXBsb2FkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWxpYi9maWxlcy11cGxvYWRlci9maWxlcy11cGxvYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL2ZpbGVzLXVwbG9hZGVyL2ZpbGVzLXVwbG9hZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDSCxTQUFTLEVBRVQsVUFBVSxFQUNWLEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLFNBQVMsRUFFVCx1QkFBdUIsR0FFMUIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFLSCw0QkFBNEIsR0FFL0IsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBRUgsYUFBYSxHQUNoQixNQUFNLGdDQUFnQyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7Ozs7Ozs7OztBQWdCL0QsTUFBTSxPQUFPLHlCQUF5QjtJQThDbEMsWUFDWSxhQUErQixFQUMvQixvQkFBNkMsRUFDN0MsV0FBMkIsRUFDM0IsU0FBMkI7UUFIM0Isa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBQy9CLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBeUI7UUFDN0MsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBQzNCLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBakQ5QixRQUFHLEdBQUcsRUFBRSxDQUFDO1FBQ1QsUUFBRyxHQUFHLEVBQUUsQ0FBQztRQUNULFVBQUssR0FBRyxFQUFFLENBQUM7UUFDWCxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsZUFBVSxHQUEyQiw0QkFBNEIsQ0FBQztRQUVuRSxh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VCxNQUFNO2dCQUlQLFVBQVU7c0JBRFQsTUFBTTtnQkFHUCxZQUFZO3NCQURYLE1BQU07Z0JBR2lCLFNBQVM7c0JBQWhDLFNBQVM7dUJBQUMsV0FBVztnQkFDSyxZQUFZO3NCQUF0QyxTQUFTO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBPbkluaXQsXG4gICAgSW5qZWN0YWJsZSxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIFZpZXdDaGlsZCxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBPcHRpb25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBGaWxlVXBsb2FkZXIgfSBmcm9tICduZzItZmlsZS11cGxvYWQnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgICBQZXBGaWxlU2VydmljZSxcbiAgICBQZXBMYXlvdXRUeXBlLFxuICAgIFBlcEN1c3RvbWl6YXRpb25TZXJ2aWNlLFxuICAgIFBlcEhvcml6b250YWxBbGlnbm1lbnQsXG4gICAgREVGQVVMVF9IT1JJWk9OVEFMX0FMSUdOTUVOVCxcbiAgICBJUGVwRmllbGRDbGlja0V2ZW50LFxufSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYic7XG5pbXBvcnQge1xuICAgIFBlcERpYWxvZ1NlcnZpY2UsXG4gICAgUGVwRGlhbG9nRGF0YSxcbn0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvZGlhbG9nJztcbmltcG9ydCB7IHBlcEljb25Ob0ltYWdlMiB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL2ljb24nO1xuXG5leHBvcnQgaW50ZXJmYWNlIElQZXBGaWxlQ2hhbmdlRXZlbnQge1xuICAgIGFjY2VwdGVkRXh0ZW5zaW9ucz86IHN0cmluZztcbiAgICBmaWxlU3RyPzogc3RyaW5nO1xuICAgIGZpbGVOYW1lPzogc3RyaW5nO1xuICAgIGZpbGVFeHQ/OiBzdHJpbmc7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncGVwLWZpbGVzLXVwbG9hZGVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZmlsZXMtdXBsb2FkZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2ZpbGVzLXVwbG9hZGVyLmNvbXBvbmVudC5zY3NzJywgJy4vZmlsZXMtdXBsb2FkZXIuY29tcG9uZW50LnRoZW1lLnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUGVwRmlsZXNVcGxvYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQElucHV0KCkga2V5ID0gJyc7XG4gICAgQElucHV0KCkgc3JjID0gJyc7XG4gICAgQElucHV0KCkgbGFiZWwgPSAnJztcbiAgICBASW5wdXQoKSBtYW5kYXRvcnkgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHhBbGlnbm1lbnQ6IFBlcEhvcml6b250YWxBbGlnbm1lbnQgPSBERUZBVUxUX0hPUklaT05UQUxfQUxJR05NRU5UO1xuXG4gICAgcHJpdmF0ZSBfcm93U3BhbiA9IDE7XG4gICAgQElucHV0KClcbiAgICBzZXQgcm93U3Bhbih2YWx1ZSkge1xuICAgICAgICB0aGlzLl9yb3dTcGFuID0gdmFsdWU7XG4gICAgfVxuICAgIGdldCByb3dTcGFuKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yb3dTcGFuO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIGNvbnRyb2xUeXBlID0gJyc7XG4gICAgQElucHV0KCkgc2l6ZUxpbWl0TUIgPSA1O1xuXG4gICAgQElucHV0KCkgZm9ybTogRm9ybUdyb3VwO1xuICAgIEBJbnB1dCgpIGFjY2VwdGVkRXh0ZW5zaW9ucyA9ICdibXAsanBnLGpwZWcscG5nLGdpZixpY28sc3ZnLGh0bWwsY3NzJztcbiAgICBASW5wdXQoKSBsYXlvdXRUeXBlOiBQZXBMYXlvdXRUeXBlID0gJ2Zvcm0nO1xuXG4gICAgQElucHV0KCkgZmllbGRIZWlnaHQgPSAnJztcbiAgICBcbiAgICAvLyBUbyBrbm93IGlmIGhhbmRsZSBhY3Rpb25zIG9yIGp1c3QgcmFpc2UgdGhlbSBhcyBvdXRwdXRcbiAgICBASW5wdXQoKSBoYW5kbGVBY3Rpb25zID0gdHJ1ZTtcbiAgICBcbiAgICBAT3V0cHV0KClcbiAgICBjaG9vc2VGaWxlOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7IC8vIFRoaXMgZXZlbnQgd2lsbCBmaXJlZCBvbmx5IHdoZW4gaGFuZGxlQWN0aW9ucyBJbnB1dCBpcyBmYWxzZVxuICAgIFxuICAgIEBPdXRwdXQoKVxuICAgIGZpbGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxJUGVwRmlsZUNoYW5nZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8SVBlcEZpbGVDaGFuZ2VFdmVudD4oKTtcbiAgICBAT3V0cHV0KClcbiAgICBlbGVtZW50Q2xpY2s6IEV2ZW50RW1pdHRlcjxJUGVwRmllbGRDbGlja0V2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8SVBlcEZpZWxkQ2xpY2tFdmVudD4oKTtcblxuICAgIEBWaWV3Q2hpbGQoJ2ZpbGVJbnB1dCcpIGZpbGVJbnB1dDogYW55O1xuICAgIEBWaWV3Q2hpbGQoJ2ltYWdlUHJldmlldycpIGltYWdlUHJldmlldzogYW55O1xuXG4gICAgLy8gbXVsdGlwbGUgPSBmYWxzZTtcbiAgICB1cGxvYWRlcjogRmlsZVVwbG9hZGVyO1xuICAgIHByb2dyZXNzID0gMDtcbiAgICAvLyByZXNwb25zZTogc3RyaW5nO1xuICAgIGludGVydmFsSUQ6IGFueSA9IG51bGw7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBkaWFsb2dTZXJ2aWNlOiBQZXBEaWFsb2dTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGN1c3RvbWl6YXRpb25TZXJ2aWNlOiBQZXBDdXN0b21pemF0aW9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBmaWxlU2VydmljZTogUGVwRmlsZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHRoaXMudXBsb2FkZXIgPSBuZXcgRmlsZVVwbG9hZGVyKHsgcmVtb3ZlQWZ0ZXJVcGxvYWQ6IHRydWUgfSk7XG5cbiAgICAgICAgdGhpcy51cGxvYWRlci5vbkFmdGVyQWRkaW5nRmlsZSA9IChpdGVtKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5maWxlSW5wdXQ/Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuXG4gICAgICAgICAgICByZWFkZXIub25sb2FkID0gKGV2ZW50OiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBmaXggZm9yIERJLTE5Mzc2IC0gd2hlbiB0aGVyZSBpcyBhIGRvdCBvbiB0aGUgZmlsZSBuYW1lIChub3QgaW5jbHVkZSB0aGUgZXh0YW50aW9uIG9uZSlcbiAgICAgICAgICAgICAgICAvL2NvbnN0IGZpbGVOYW1lQXJyYXkgPSBpdGVtLl9maWxlLm5hbWUuc3BsaXQoJy4nKTtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWxlTmFtZSA9IHRoaXMuZ2V0RmlsZU5hbWUoaXRlbS5fZmlsZS5uYW1lKTsgLy9maWxlTmFtZUFycmF5WzBdO1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpbGVFeHQgPSB0aGlzLmdldEZpbGVFeHRlbnNpb24oaXRlbS5fZmlsZS5uYW1lKTsgLy9maWxlTmFtZUFycmF5WzFdOyAvLyBpdGVtLl9maWxlLm5hbWUuc3BsaXQoJy4nKS5wb3AoKTtcbiAgICAgICAgICAgICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgfHwgZXZlbnQuc3JjRWxlbWVudDtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWxlU3RyID0gdGFyZ2V0LnJlc3VsdDtcbiAgICAgICAgICAgICAgICBjb25zdCBlcnJvck1zZyA9IHRoaXMuaXNWYWxpZEZpbGUoXG4gICAgICAgICAgICAgICAgICAgIGZpbGVTdHIsXG4gICAgICAgICAgICAgICAgICAgIGZpbGVFeHQsXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWNjZXB0ZWRFeHRlbnNpb25zLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNpemVMaW1pdE1CXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBpZiAoZXJyb3JNc2cgPT09ICcnKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc3JjID0gZmlsZVN0cjtcbiAgICAgICAgICAgICAgICAgICAgLy8gdGhpcy5zZXRJbnRlcnZhbFgoMjUsIDc1KTtcbiAgICAgICAgICAgICAgICAgICAgLy8gdGhpcy5zZXRQcm9ncmVzcyg1KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maWxlQ2hhbmdlLmVtaXQoe1xuICAgICAgICAgICAgICAgICAgICAgICAgYWNjZXB0ZWRFeHRlbnNpb25zOiB0aGlzLmFjY2VwdGVkRXh0ZW5zaW9ucyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVTdHIsXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxlTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVFeHQsXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRpdGxlID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudChcbiAgICAgICAgICAgICAgICAgICAgICAgICdNRVNTQUdFUy5USVRMRV9OT1RJQ0UnXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBuZXcgUGVwRGlhbG9nRGF0YSh7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGVycm9yTXNnLFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kaWFsb2dTZXJ2aWNlLm9wZW5EZWZhdWx0RGlhbG9nKGRhdGEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICByZWFkZXIucmVhZEFzRGF0YVVSTChpdGVtLl9maWxlKTtcblxuICAgICAgICAgICAgXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgZ2V0RmlsZU5hbWUoZmlsZW5hbWUpe1xuICAgICAgICAvLyBnZXQgZmlsZSBuYW1lXG4gICAgICAgIGNvbnN0IGZpbGVOYW1lID0gZmlsZW5hbWUuc3Vic3RyaW5nKDAsZmlsZW5hbWUubGFzdEluZGV4T2YoJy4nKSk7XG4gICAgICAgIHJldHVybiBmaWxlTmFtZTtcbiAgICB9XG5cbiAgICBnZXRGaWxlRXh0ZW5zaW9uKGZpbGVuYW1lKXtcbiAgICAgICAgLy8gZ2V0IGZpbGUgZXh0ZW5zaW9uXG4gICAgICAgIGNvbnN0IGV4dGVuc2lvbiA9IGZpbGVuYW1lLnN1YnN0cmluZyhmaWxlbmFtZS5sYXN0SW5kZXhPZignLicpICsgMSwgZmlsZW5hbWUubGVuZ3RoKTtcbiAgICAgICAgcmV0dXJuIGV4dGVuc2lvbjtcbiAgICB9XG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIC8qdGhpcy51cGxvYWRlci5vbkNvbXBsZXRlQWxsID0gKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xuICAgICAgICB9Ki9cbiAgICB9XG5cbiAgICBpc1ZhbGlkRmlsZShcbiAgICAgICAgZmlsZVN0cixcbiAgICAgICAgZmlsZUV4dGVuc2lvbixcbiAgICAgICAgYWNjZXB0ZWRFeHRlbnNpb25zLFxuICAgICAgICBzaXplTGltaXRNQiA9IDVcbiAgICApOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBmaWxlOiBhbnkgPSBmaWxlU3RyO1xuICAgICAgICBsZXQgZmlsZVNpemUgPSAwO1xuICAgICAgICBsZXQgY29udGVudCA9ICcnO1xuICAgICAgICAvLyBjaGVjayBpZiBnb3QgZmlsZSBhcyBCYXNlNjRcbiAgICAgICAgaWYgKHR5cGVvZiBmaWxlU3RyID09PSAnc3RyaW5nJyAmJiBmaWxlU3RyLmluZGV4T2YoJ2RhdGE6JykgPiAtMSkge1xuICAgICAgICAgICAgZmlsZVNpemUgPSB0aGlzLmdldEJhc2U2NEZpbGVTaXplKGZpbGVTdHIpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZmlsZVNpemUgPSBmaWxlLnNpemU7XG4gICAgICAgIH1cbiAgICAgICAgLy8gY2hlY2sgdGhlIHNpemUgYW5kIHRoZSBleHRlbnNpb25cbiAgICAgICAgY29uc3Qgc2l6ZU9LOiBib29sZWFuID1cbiAgICAgICAgICAgIGZpbGVTaXplICE9PSAtMSAmJiBmaWxlICE9IG51bGwgJiYgZmlsZVNpemUgPCBzaXplTGltaXRNQiAqIDEwNDg1NzY7XG4gICAgICAgIGNvbnN0IGV4dGVuc2lvbk9LID1cbiAgICAgICAgICAgIGFjY2VwdGVkRXh0ZW5zaW9ucyA9PT0gJycgfHxcbiAgICAgICAgICAgIGFjY2VwdGVkRXh0ZW5zaW9ucy5pbmRleE9mKGZpbGVFeHRlbnNpb24udG9Mb3dlckNhc2UoKSkgIT09IC0xO1xuICAgICAgICBpZiAoIWV4dGVuc2lvbk9LKSB7XG4gICAgICAgICAgICBjb250ZW50ID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudChcbiAgICAgICAgICAgICAgICAnTUVTU0FHRVMuRVJST1JfRkFJTERfVE9fTE9BRF9FWFRFTlNJT04nLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmlsZUV4dGVuc2lvbjpcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiPGxhYmVsIGNsYXNzPSd1cHBlcmNhc2UgYm9sZCc+XCIgK1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlsZUV4dGVuc2lvbiArXG4gICAgICAgICAgICAgICAgICAgICAgICAnPC9sYWJlbD4nLFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSBpZiAoIXNpemVPSykge1xuICAgICAgICAgICAgY29udGVudCA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXG4gICAgICAgICAgICAgICAgJ01FU1NBR0VTLkVSUk9SX0ZBSUxEX1RPX0xPQURfU0laRScsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWxlU2l6ZTpcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiPGxhYmVsIGNsYXNzPSd1cHBlcmNhc2UgYm9sZCc+XCIgK1xuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZUxpbWl0TUIudG9TdHJpbmcoKSArXG4gICAgICAgICAgICAgICAgICAgICAgICAnPC9sYWJlbD4nLFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgZ2V0QmFzZTY0RmlsZVNpemUoYmFzZTY0U3RyaW5nOiBzdHJpbmcpOiBudW1iZXIge1xuICAgICAgICBsZXQgZmlsZVNpemU6IG51bWJlcjtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgYmFzZTY0U3RyaW5nID0gYmFzZTY0U3RyaW5nLnN1YnN0cihiYXNlNjRTdHJpbmcuaW5kZXhPZignLCcpICsgMSk7XG4gICAgICAgICAgICBmaWxlU2l6ZSA9IGF0b2IoYmFzZTY0U3RyaW5nKS5sZW5ndGg7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIGZpbGVTaXplID0gLTE7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZmlsZVNpemU7IC8vIHJldHVybiBzaXplIGluIGJ5dGVzO1xuICAgIH1cblxuICAgIC8vIHNldEludGVydmFsWChkZWxheSwgcmVwZXRpdGlvbnMpOiB2b2lkIHtcbiAgICAvLyAgICAgbGV0IHggPSAwO1xuICAgIC8vICAgICB0aGlzLmludGVydmFsSUQgPSB3aW5kb3cuc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgIC8vICAgICAgICAgLy8gdGhpcy5zZXRQcm9ncmVzcyh0aGlzLnByb2dyZXNzICsgNSk7XG4gICAgLy8gICAgICAgICBpZiAoKyt4ID09PSByZXBldGl0aW9ucyB8fCB0aGlzLnVwbG9hZGVyLnByb2dyZXNzID49IDEwMCkge1xuICAgIC8vICAgICAgICAgICAgIHdpbmRvdy5jbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWxJRCk7XG4gICAgLy8gICAgICAgICB9XG4gICAgLy8gICAgIH0sIGRlbGF5KTtcbiAgICAvLyB9XG5cbiAgICBlcnJvckhhbmRsZXIoZXZlbnQpOiB2b2lkIHtcbiAgICAgICAgZXZlbnQudGFyZ2V0LnNyYyA9IHRoaXMuZmlsZVNlcnZpY2UuZ2V0U3ZnQXNJbWFnZVNyYyhcbiAgICAgICAgICAgIHBlcEljb25Ob0ltYWdlMi5kYXRhXG4gICAgICAgICk7XG4gICAgICAgIGV2ZW50LnRhcmdldC50aXRsZSA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ0lNQUdFLk5PX0lNQUdFJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRQcm9ncmVzcyhwcm9ncmVzcyk6IHZvaWQge1xuICAgICAgICB0aGlzLnByb2dyZXNzID0gcHJvZ3Jlc3M7XG4gICAgICAgIHRoaXMudXBsb2FkZXIucHJvZ3Jlc3MgPSBwcm9ncmVzcztcbiAgICB9XG5cbiAgICBkZWxldGVGaWxlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwbG9hZGVyLmNsZWFyUXVldWUoKTtcbiAgICAgICAgd2luZG93LmNsZWFySW50ZXJ2YWwodGhpcy5pbnRlcnZhbElEKTtcbiAgICAgICAgdGhpcy5zZXRQcm9ncmVzcygwKTtcblxuICAgICAgICBjb25zdCBlbXBsdFZhbHVlID0gJyc7XG4gICAgICAgIHRoaXMuc3JjID0gZW1wbHRWYWx1ZTtcblxuICAgICAgICB0aGlzLmZpbGVDaGFuZ2UuZW1pdChudWxsKTtcblxuICAgICAgICAvLyB0aGlzLmZpbGVDaGFuZ2UuZW1pdCh7XG4gICAgICAgIC8vICAgICBhY2NlcHRlZEV4dGVuc2lvbnM6IHRoaXMuYWNjZXB0ZWRFeHRlbnNpb25zLFxuICAgICAgICAvLyAgICAgZmlsZVN0cjogbnVsbCxcbiAgICAgICAgLy8gICAgIGZpbGVFeHQ6IG51bGwsXG4gICAgICAgIC8vIH0pO1xuICAgIH1cblxuICAgIG9uRWxlbWVudENsaWNrZWQoZXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lbGVtZW50Q2xpY2suZW1pdCh7XG4gICAgICAgICAgICBrZXk6IHRoaXMua2V5LFxuICAgICAgICAgICAgY29udHJvbFR5cGU6IHRoaXMuY29udHJvbFR5cGUsXG4gICAgICAgICAgICBldmVudFdoaWNoOiBldmVudC53aGljaCxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25DbGlja19DaG9vc2VGaWxlKGV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmhhbmRsZUFjdGlvbnMpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmZpbGVJbnB1dD8ubmF0aXZlRWxlbWVudCkge1xuICAgICAgICAgICAgICAgIHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY2hvb3NlRmlsZS5lbWl0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbktleVByZXNzX0Nob29zZUZpbGUoZXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaGFuZGxlQWN0aW9ucykge1xuICAgICAgICAgICAgY29uc3QgZSA9IGV2ZW50IGFzIEtleWJvYXJkRXZlbnQ7XG5cbiAgICAgICAgICAgIGlmIChbMTMsIDMyXS5pbmRleE9mKGUud2hpY2gpICE9PSAtMSkge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmZpbGVJbnB1dD8ubmF0aXZlRWxlbWVudCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jaG9vc2VGaWxlLmVtaXQoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZSAjcGVwVGVtcGxhdGU+XG4gICAgPG1hdC1mb3JtLWZpZWxkIFtmb3JtR3JvdXBdPVwiZm9ybVwiIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwZXAtZmlsZS13cmFwcGVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGVwLWZpbGUgYm9keS1zbVwiIFtzdHlsZS5oZWlnaHRdPVwiZmllbGRIZWlnaHRcIiBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICdvbmUtcm93Jzogcm93U3BhbiA9PSAxLFxuICAgICAgICAgICAgICAgICAgICBkaXNhYmxlOiBkaXNhYmxlZFxuICAgICAgICAgICAgICAgIH1cIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic3JjICE9ICcnOyB0aGVuIHdpdGhJbWc7IGVsc2Ugbm9JbWdcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI3dpdGhJbWc+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCIhZGlzYWJsZWRcIiBtYXQtYnV0dG9uIChjbGljayk9XCJkZWxldGVGaWxlKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwZXAtYnV0dG9uIGljb24tYnV0dG9uIHdlYWsgbWQgZGVsZXRlXCIgdGFiaW5kZXg9XCItMVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdyaWdodC1hbGlnbm1lbnQnOiB4QWxpZ25tZW50ID09ICdyaWdodCcgfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwZXAtaWNvbiBuYW1lPVwic3lzdGVtX2JpblwiPjwvcGVwLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBlcC1maWxlLXByZXZpZXdcIiAoY2xpY2spPVwib25FbGVtZW50Q2xpY2tlZCgkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nICpuZ0lmPVwiY29udHJvbFR5cGUgPT09ICdpbWFnZSdcIiAjaW1hZ2VQcmV2aWV3IFtzcmNdPVwic3JjXCIgY2xhc3M9XCJwZXAtZmlsZS1wcmV2aWV3LWltZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0eWxlLm1heC1oZWlnaHRdPVwiZmllbGRIZWlnaHRcIiAoZXJyb3IpPVwiZXJyb3JIYW5kbGVyKCRldmVudClcIiBbYWx0XT1cImxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJbJ3RleHQtYWxpZ24tJyArIHhBbGlnbm1lbnRdXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJjb250cm9sVHlwZSA9PT0gJ2F0dGFjaG1lbnQnXCIgY2xhc3M9XCJlbGxpcHNpcyBwZXAtZmlsZS1tZXNzYWdlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgKm5nSWY9XCJzcmMgIT0gJydcIiBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cInBlcC1zcGFjaW5nLWVsZW1lbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwZXAtaWNvbiBuYW1lPVwic3lzdGVtX2F0dGFjaFwiPjwvcGVwLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYm9keS1zbSBlbGxpcHNpc1wiPnt7ICdGSUxFLlNFRV9PUklHSU5BTCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNub0ltZz5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImVsbGlwc2lzIHBlcC1maWxlLW1lc3NhZ2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cImNvbnRyb2xUeXBlID09PSAnYXR0YWNobWVudCdcIiBjbGFzcz1cInBlcC1zcGFjaW5nLWVsZW1lbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGVwLWljb24gbmFtZT1cInN5c3RlbV9hdHRhY2hcIj48L3BlcC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cImNvbnRyb2xUeXBlID09PSAnaW1hZ2UnXCIgY2xhc3M9XCJwZXAtc3BhY2luZy1lbGVtZW50XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBlcC1pY29uIG5hbWU9XCJzeXN0ZW1fZmlsZV91cGxvYWRfY2xvdWRcIj48L3BlcC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYm9keS1zbSBlbGxpcHNpc1wiICpuZ0lmPVwicHJvZ3Jlc3MgPT0gMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IChkaXNhYmxlZCA/IChjb250cm9sVHlwZSA9PT0gJ2ltYWdlJyA/ICdNRVNTQUdFUy5JTkZPX01JU1NJTkdfSU1BR0UnIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTUVTU0FHRVMuSU5GT19NSVNTSU5HX0ZJTEUnKSA6ICdGSUxFLkhJTlQnKSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8cCAqbmdJZj1cInByb2dyZXNzICE9IDBcIiBjbGFzcz1cInB1bGwtbGVmdCBmbGlwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdwdWxsLWxlZnQgZmxpcCc6IHJvd1NwYW4gPT0gMSwgaW1hZ2U6IGNvbnRyb2xUeXBlID09ICdpbWFnZScsIGF0dGFjaG1lbnQ6IGNvbnRyb2xUeXBlID09ICdhdHRhY2htZW50JyB9XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJ0ZJTEUuVVBMT0FESU5HX0ZJTEUnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+IC0tPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFkaXNhYmxlZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0ICpuZ0lmPVwiaGFuZGxlQWN0aW9uc1wiICNmaWxlSW5wdXQgaWQ9XCJwZXAtZmlsZS17eyBrZXkgfX1cIiB0YWJpbmRleD1cIi0xXCIgdHlwZT1cImZpbGVcIiBhY2NlcHQ9XCJhY2NlcHRlZEV4dGVuc2lvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5nMkZpbGVTZWxlY3QgW3VwbG9hZGVyXT1cInVwbG9hZGVyXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cInByb2dyZXNzICE9IDBcIiBtYXQtYnV0dG9uIGNsYXNzPVwicGVwLWJ1dHRvbiBpY29uLWJ1dHRvbiB3ZWFrIG1kIGRlbGV0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAncmlnaHQtYWxpZ25tZW50JzogeEFsaWdubWVudCA9PSAncmlnaHQnIH1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwZXAtaWNvbiBuYW1lPVwic3lzdGVtX3Byb2Nlc3NpbmdcIiBbc3Bpbl09XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcGVwLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8aW5wdXQgW2lkXT1cImtleVwiIG1hdElucHV0IFtuYW1lXT1cImtleVwiIFtmb3JtQ29udHJvbE5hbWVdPVwia2V5XCIgY2xhc3M9XCJoaWRkZW4taW5wdXRcIiB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgW3ZhbHVlXT1cInNyY1wiIChjbGljayk9XCJvbkNsaWNrX0Nob29zZUZpbGUoJGV2ZW50KVwiIChrZXlwcmVzcyk9XCJvbktleVByZXNzX0Nob29zZUZpbGUoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCIgLz5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPG1hdC1lcnJvcj48c3BhbiBjbGFzcz1cImJvZHkteHNcIlxuICAgICAgICAgICAgICAgIFt0aXRsZV09XCJtYW5kYXRvcnkgJiYgc3JjLmxlbmd0aCA9PSAwID8gKCdNRVNTQUdFUy5FUlJPUl9JU19SRVFVSVJFRCcgfCB0cmFuc2xhdGU6IHsgZmllbGQ6IGxhYmVsIH0pIDogKCdNRVNTQUdFUy5FUlJPUl9JU19OT1RfVkFMSUQnIHwgdHJhbnNsYXRlOiB7IGZpZWxkOiBsYWJlbCB9KVwiXG4gICAgICAgICAgICAgICAgW2lubmVyVGV4dF09XCJtYW5kYXRvcnkgJiYgc3JjLmxlbmd0aCA9PSAwID8gKCdNRVNTQUdFUy5FUlJPUl9JU19SRVFVSVJFRCcgfCB0cmFuc2xhdGU6IHsgZmllbGQ6IGxhYmVsIH0pIDogKCdNRVNTQUdFUy5FUlJPUl9JU19OT1RfVkFMSUQnIHwgdHJhbnNsYXRlOiB7IGZpZWxkOiBsYWJlbCB9KVwiPjwvc3Bhbj5cbiAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJsYXlvdXRUeXBlID09PSAnZm9ybSdcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicGVwVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwibGF5b3V0VHlwZSA9PT0gJ2NhcmQnXCI+XG4gICAgPCEtLSA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicGVwVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj4gLS0+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImxheW91dFR5cGUgPT09ICd0YWJsZSdcIj5cbiAgICA8IS0tIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJwZXBUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPiAtLT5cbjwvbmctY29udGFpbmVyPiJdfQ==
|
|
267
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZXMtdXBsb2FkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWxpYi9maWxlcy11cGxvYWRlci9maWxlcy11cGxvYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL2ZpbGVzLXVwbG9hZGVyL2ZpbGVzLXVwbG9hZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDSCxTQUFTLEVBRVQsVUFBVSxFQUNWLEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLFNBQVMsRUFFVCx1QkFBdUIsR0FFMUIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFLSCw0QkFBNEIsRUFFNUIsWUFBWSxHQUNmLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUVILGFBQWEsR0FDaEIsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFnQi9ELE1BQU0sT0FBTyx5QkFBeUI7SUE4Q2xDLFlBQ1ksYUFBK0IsRUFDL0Isb0JBQTZDLEVBQzdDLFdBQTJCLEVBQzNCLFNBQTJCO1FBSDNCLGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtRQUMvQix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXlCO1FBQzdDLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtRQUMzQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQWpEOUIsUUFBRyxHQUFHLEVBQUUsQ0FBQztRQUNULFFBQUcsR0FBRyxFQUFFLENBQUM7UUFDVCxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGVBQVUsR0FBMkIsNEJBQTRCLENBQUM7UUFFbkUsYUFBUSxHQUFHLENBQUMsQ0FBQztRQVNaLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLGdCQUFXLEdBQUcsQ0FBQyxDQUFDO1FBR2hCLHVCQUFrQixHQUFHLHVDQUF1QyxDQUFDO1FBQzdELGVBQVUsR0FBa0IsTUFBTSxDQUFDO1FBRW5DLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBRTFCLHlEQUF5RDtRQUNoRCxrQkFBYSxHQUFHLElBQUksQ0FBQztRQUc5QixlQUFVLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUMsQ0FBQywrREFBK0Q7UUFHMUgsZUFBVSxHQUFzQyxJQUFJLFlBQVksRUFBdUIsQ0FBQztRQUV4RixpQkFBWSxHQUFzQyxJQUFJLFlBQVksRUFBdUIsQ0FBQztRQU8xRixhQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ2Isb0JBQW9CO1FBQ3BCLGVBQVUsR0FBUSxJQUFJLENBQUM7UUFRbkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLFlBQVksQ0FBQyxFQUFFLGlCQUFpQixFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFFOUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3ZDLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxhQUFhLEVBQUU7Z0JBQy9CLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7YUFDM0M7WUFDRCxNQUFNLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBRWhDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxLQUFVLEVBQUUsRUFBRTtnQkFDM0IsMEZBQTBGO2dCQUMxRixtREFBbUQ7Z0JBQ25ELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLG1CQUFtQjtnQkFDdkUsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyx3REFBd0Q7Z0JBQ2hILE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQztnQkFDaEQsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztnQkFDOUIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FDN0IsT0FBTyxFQUNQLE9BQU8sRUFDUCxJQUFJLENBQUMsa0JBQWtCLEVBQ3ZCLElBQUksQ0FBQyxXQUFXLENBQ25CLENBQUM7Z0JBQ0YsSUFBSSxRQUFRLEtBQUssRUFBRSxFQUFFO29CQUNqQixJQUFJLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQztvQkFDbkIsNkJBQTZCO29CQUM3Qix1QkFBdUI7b0JBQ3ZCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO3dCQUNqQixrQkFBa0IsRUFBRSxJQUFJLENBQUMsa0JBQWtCO3dCQUMzQyxPQUFPO3dCQUNQLFFBQVE7d0JBQ1IsT0FBTztxQkFDVixDQUFDLENBQUM7aUJBQ047cUJBQU07b0JBQ0gsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQ2hDLHVCQUF1QixDQUMxQixDQUFDO29CQUNGLE1BQU0sSUFBSSxHQUFHLElBQUksYUFBYSxDQUFDO3dCQUMzQixLQUFLO3dCQUNMLE9BQU8sRUFBRSxRQUFRO3FCQUNwQixDQUFDLENBQUM7b0JBQ0gsSUFBSSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDOUM7WUFDTCxDQUFDLENBQUM7WUFDRixNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUdyQyxDQUFDLENBQUM7SUFDTixDQUFDO0lBekZELElBQ0ksT0FBTyxDQUFDLEtBQUs7UUFDYixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDO0lBQ0QsSUFBSSxPQUFPO1FBQ1AsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3pCLENBQUM7SUFxRkQsV0FBVyxDQUFDLFFBQVE7UUFDaEIsZ0JBQWdCO1FBQ2hCLE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNqRSxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsUUFBUTtRQUNyQixxQkFBcUI7UUFDckIsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDckYsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztJQUVPLGNBQWM7UUFDbEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxZQUFZLENBQUM7WUFDOUIsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHO1lBQ2IsS0FBSyxFQUFFLElBQUksQ0FBQyxHQUFHO1lBQ2YsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtTQUMxQixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJLEVBQUU7WUFDcEIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQ3pCO1FBQ0Q7O1dBRUc7SUFDUCxDQUFDO0lBRUQsV0FBVyxDQUNQLE9BQU8sRUFDUCxhQUFhLEVBQ2Isa0JBQWtCLEVBQ2xCLFdBQVcsR0FBRyxDQUFDO1FBRWYsTUFBTSxJQUFJLEdBQVEsT0FBTyxDQUFDO1FBQzFCLElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQztRQUNqQixJQUFJLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDakIsOEJBQThCO1FBQzlCLElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7WUFDOUQsUUFBUSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUM5QzthQUFNO1lBQ0gsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7U0FDeEI7UUFDRCxtQ0FBbUM7UUFDbkMsTUFBTSxNQUFNLEdBQ1IsUUFBUSxLQUFLLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksUUFBUSxHQUFHLFdBQVcsR0FBRyxPQUFPLENBQUM7UUFDeEUsTUFBTSxXQUFXLEdBQ2Isa0JBQWtCLEtBQUssRUFBRTtZQUN6QixrQkFBa0IsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDbkUsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNkLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FDNUIsd0NBQXdDLEVBQ3hDO2dCQUNJLGFBQWEsRUFDVCxnQ0FBZ0M7b0JBQ2hDLGFBQWE7b0JBQ2IsVUFBVTthQUNqQixDQUNKLENBQUM7U0FDTDthQUFNLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDaEIsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUM1QixtQ0FBbUMsRUFDbkM7Z0JBQ0ksUUFBUSxFQUNKLGdDQUFnQztvQkFDaEMsV0FBVyxDQUFDLFFBQVEsRUFBRTtvQkFDdEIsVUFBVTthQUNqQixDQUNKLENBQUM7U0FDTDtRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxZQUFvQjtRQUNsQyxJQUFJLFFBQWdCLENBQUM7UUFFckIsSUFBSTtZQUNBLFlBQVksR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDbEUsUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLENBQUM7U0FDeEM7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNSLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUNqQjtRQUVELE9BQU8sUUFBUSxDQUFDLENBQUMsd0JBQXdCO0lBQzdDLENBQUM7SUFFRCwyQ0FBMkM7SUFDM0MsaUJBQWlCO0lBQ2pCLG1EQUFtRDtJQUNuRCxrREFBa0Q7SUFDbEQsc0VBQXNFO0lBQ3RFLHFEQUFxRDtJQUNyRCxZQUFZO0lBQ1osaUJBQWlCO0lBQ2pCLElBQUk7SUFFSixZQUFZLENBQUMsS0FBSztRQUNkLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQ2hELGVBQWUsQ0FBQyxJQUFJLENBQ3ZCLENBQUM7UUFDRixLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFTyxXQUFXLENBQUMsUUFBUTtRQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDdEMsQ0FBQztJQUVELFVBQVU7UUFDTixJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzNCLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFcEIsTUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxHQUFHLEdBQUcsVUFBVSxDQUFDO1FBRXRCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTNCLHlCQUF5QjtRQUN6QixtREFBbUQ7UUFDbkQscUJBQXFCO1FBQ3JCLHFCQUFxQjtRQUNyQixNQUFNO0lBQ1YsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQUs7UUFDbEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7WUFDbkIsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHO1lBQ2IsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzdCLFVBQVUsRUFBRSxLQUFLLENBQUMsS0FBSztTQUMxQixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsS0FBSztRQUNwQixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDcEIsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLGFBQWEsRUFBRTtnQkFDL0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7YUFDeEM7U0FDSjthQUFNO1lBQ0gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUMxQjtJQUNMLENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxLQUFLO1FBQ3ZCLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNwQixNQUFNLENBQUMsR0FBRyxLQUFzQixDQUFDO1lBRWpDLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtnQkFDbEMsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLGFBQWEsRUFBRTtvQkFDL0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7aUJBQ3hDO2FBQ0o7WUFDRCxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDdEI7YUFBTTtZQUNILElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDMUI7SUFDTCxDQUFDOztzSEFuUVEseUJBQXlCOzBHQUF6Qix5QkFBeUIsc3JCQzdDdEMsZ21LQW1GZTswSER0Q0YseUJBQXlCOzJGQUF6Qix5QkFBeUI7a0JBUHJDLFNBQVM7K0JBQ0ksb0JBQW9CLG1CQUdiLHVCQUF1QixDQUFDLE1BQU07O2tCQUVsRCxVQUFVO3lNQUVFLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUlGLE9BQU87c0JBRFYsS0FBSztnQkFRRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsSUFBSTtzQkFBWixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBR0csYUFBYTtzQkFBckIsS0FBSztnQkFHTixVQUFVO3NCQURULE1BQU07Z0JBSVAsVUFBVTtzQkFEVCxNQUFNO2dCQUdQLFlBQVk7c0JBRFgsTUFBTTtnQkFHaUIsU0FBUztzQkFBaEMsU0FBUzt1QkFBQyxXQUFXO2dCQUNLLFlBQVk7c0JBQXRDLFNBQVM7dUJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIE9uSW5pdCxcbiAgICBJbmplY3RhYmxlLFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgVmlld0NoaWxkLFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIE9wdGlvbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEZpbGVVcGxvYWRlciB9IGZyb20gJ25nMi1maWxlLXVwbG9hZCc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIFBlcEZpbGVTZXJ2aWNlLFxuICAgIFBlcExheW91dFR5cGUsXG4gICAgUGVwQ3VzdG9taXphdGlvblNlcnZpY2UsXG4gICAgUGVwSG9yaXpvbnRhbEFsaWdubWVudCxcbiAgICBERUZBVUxUX0hPUklaT05UQUxfQUxJR05NRU5ULFxuICAgIElQZXBGaWVsZENsaWNrRXZlbnQsXG4gICAgUGVwRmllbGRCYXNlLFxufSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYic7XG5pbXBvcnQge1xuICAgIFBlcERpYWxvZ1NlcnZpY2UsXG4gICAgUGVwRGlhbG9nRGF0YSxcbn0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvZGlhbG9nJztcbmltcG9ydCB7IHBlcEljb25Ob0ltYWdlMiB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL2ljb24nO1xuXG5leHBvcnQgaW50ZXJmYWNlIElQZXBGaWxlQ2hhbmdlRXZlbnQge1xuICAgIGFjY2VwdGVkRXh0ZW5zaW9ucz86IHN0cmluZztcbiAgICBmaWxlU3RyPzogc3RyaW5nO1xuICAgIGZpbGVOYW1lPzogc3RyaW5nO1xuICAgIGZpbGVFeHQ/OiBzdHJpbmc7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncGVwLWZpbGVzLXVwbG9hZGVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZmlsZXMtdXBsb2FkZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2ZpbGVzLXVwbG9hZGVyLmNvbXBvbmVudC5zY3NzJywgJy4vZmlsZXMtdXBsb2FkZXIuY29tcG9uZW50LnRoZW1lLnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUGVwRmlsZXNVcGxvYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQElucHV0KCkga2V5ID0gJyc7XG4gICAgQElucHV0KCkgc3JjID0gJyc7XG4gICAgQElucHV0KCkgbGFiZWwgPSAnJztcbiAgICBASW5wdXQoKSBtYW5kYXRvcnkgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHhBbGlnbm1lbnQ6IFBlcEhvcml6b250YWxBbGlnbm1lbnQgPSBERUZBVUxUX0hPUklaT05UQUxfQUxJR05NRU5UO1xuXG4gICAgcHJpdmF0ZSBfcm93U3BhbiA9IDE7XG4gICAgQElucHV0KClcbiAgICBzZXQgcm93U3Bhbih2YWx1ZSkge1xuICAgICAgICB0aGlzLl9yb3dTcGFuID0gdmFsdWU7XG4gICAgfVxuICAgIGdldCByb3dTcGFuKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yb3dTcGFuO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIGNvbnRyb2xUeXBlID0gJyc7XG4gICAgQElucHV0KCkgc2l6ZUxpbWl0TUIgPSA1O1xuXG4gICAgQElucHV0KCkgZm9ybTogRm9ybUdyb3VwO1xuICAgIEBJbnB1dCgpIGFjY2VwdGVkRXh0ZW5zaW9ucyA9ICdibXAsanBnLGpwZWcscG5nLGdpZixpY28sc3ZnLGh0bWwsY3NzJztcbiAgICBASW5wdXQoKSBsYXlvdXRUeXBlOiBQZXBMYXlvdXRUeXBlID0gJ2Zvcm0nO1xuXG4gICAgQElucHV0KCkgZmllbGRIZWlnaHQgPSAnJztcbiAgICBcbiAgICAvLyBUbyBrbm93IGlmIGhhbmRsZSBhY3Rpb25zIG9yIGp1c3QgcmFpc2UgdGhlbSBhcyBvdXRwdXRcbiAgICBASW5wdXQoKSBoYW5kbGVBY3Rpb25zID0gdHJ1ZTtcbiAgICBcbiAgICBAT3V0cHV0KClcbiAgICBjaG9vc2VGaWxlOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7IC8vIFRoaXMgZXZlbnQgd2lsbCBmaXJlZCBvbmx5IHdoZW4gaGFuZGxlQWN0aW9ucyBJbnB1dCBpcyBmYWxzZVxuICAgIFxuICAgIEBPdXRwdXQoKVxuICAgIGZpbGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxJUGVwRmlsZUNoYW5nZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8SVBlcEZpbGVDaGFuZ2VFdmVudD4oKTtcbiAgICBAT3V0cHV0KClcbiAgICBlbGVtZW50Q2xpY2s6IEV2ZW50RW1pdHRlcjxJUGVwRmllbGRDbGlja0V2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8SVBlcEZpZWxkQ2xpY2tFdmVudD4oKTtcblxuICAgIEBWaWV3Q2hpbGQoJ2ZpbGVJbnB1dCcpIGZpbGVJbnB1dDogYW55O1xuICAgIEBWaWV3Q2hpbGQoJ2ltYWdlUHJldmlldycpIGltYWdlUHJldmlldzogYW55O1xuXG4gICAgLy8gbXVsdGlwbGUgPSBmYWxzZTtcbiAgICB1cGxvYWRlcjogRmlsZVVwbG9hZGVyO1xuICAgIHByb2dyZXNzID0gMDtcbiAgICAvLyByZXNwb25zZTogc3RyaW5nO1xuICAgIGludGVydmFsSUQ6IGFueSA9IG51bGw7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBkaWFsb2dTZXJ2aWNlOiBQZXBEaWFsb2dTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGN1c3RvbWl6YXRpb25TZXJ2aWNlOiBQZXBDdXN0b21pemF0aW9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBmaWxlU2VydmljZTogUGVwRmlsZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHRoaXMudXBsb2FkZXIgPSBuZXcgRmlsZVVwbG9hZGVyKHsgcmVtb3ZlQWZ0ZXJVcGxvYWQ6IHRydWUgfSk7XG5cbiAgICAgICAgdGhpcy51cGxvYWRlci5vbkFmdGVyQWRkaW5nRmlsZSA9IChpdGVtKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5maWxlSW5wdXQ/Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuXG4gICAgICAgICAgICByZWFkZXIub25sb2FkID0gKGV2ZW50OiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBmaXggZm9yIERJLTE5Mzc2IC0gd2hlbiB0aGVyZSBpcyBhIGRvdCBvbiB0aGUgZmlsZSBuYW1lIChub3QgaW5jbHVkZSB0aGUgZXh0YW50aW9uIG9uZSlcbiAgICAgICAgICAgICAgICAvL2NvbnN0IGZpbGVOYW1lQXJyYXkgPSBpdGVtLl9maWxlLm5hbWUuc3BsaXQoJy4nKTtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWxlTmFtZSA9IHRoaXMuZ2V0RmlsZU5hbWUoaXRlbS5fZmlsZS5uYW1lKTsgLy9maWxlTmFtZUFycmF5WzBdO1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpbGVFeHQgPSB0aGlzLmdldEZpbGVFeHRlbnNpb24oaXRlbS5fZmlsZS5uYW1lKTsgLy9maWxlTmFtZUFycmF5WzFdOyAvLyBpdGVtLl9maWxlLm5hbWUuc3BsaXQoJy4nKS5wb3AoKTtcbiAgICAgICAgICAgICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgfHwgZXZlbnQuc3JjRWxlbWVudDtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWxlU3RyID0gdGFyZ2V0LnJlc3VsdDtcbiAgICAgICAgICAgICAgICBjb25zdCBlcnJvck1zZyA9IHRoaXMuaXNWYWxpZEZpbGUoXG4gICAgICAgICAgICAgICAgICAgIGZpbGVTdHIsXG4gICAgICAgICAgICAgICAgICAgIGZpbGVFeHQsXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWNjZXB0ZWRFeHRlbnNpb25zLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNpemVMaW1pdE1CXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBpZiAoZXJyb3JNc2cgPT09ICcnKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc3JjID0gZmlsZVN0cjtcbiAgICAgICAgICAgICAgICAgICAgLy8gdGhpcy5zZXRJbnRlcnZhbFgoMjUsIDc1KTtcbiAgICAgICAgICAgICAgICAgICAgLy8gdGhpcy5zZXRQcm9ncmVzcyg1KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maWxlQ2hhbmdlLmVtaXQoe1xuICAgICAgICAgICAgICAgICAgICAgICAgYWNjZXB0ZWRFeHRlbnNpb25zOiB0aGlzLmFjY2VwdGVkRXh0ZW5zaW9ucyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVTdHIsXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxlTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVFeHQsXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRpdGxlID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudChcbiAgICAgICAgICAgICAgICAgICAgICAgICdNRVNTQUdFUy5USVRMRV9OT1RJQ0UnXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBuZXcgUGVwRGlhbG9nRGF0YSh7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGVycm9yTXNnLFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kaWFsb2dTZXJ2aWNlLm9wZW5EZWZhdWx0RGlhbG9nKGRhdGEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICByZWFkZXIucmVhZEFzRGF0YVVSTChpdGVtLl9maWxlKTtcblxuICAgICAgICAgICAgXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgZ2V0RmlsZU5hbWUoZmlsZW5hbWUpe1xuICAgICAgICAvLyBnZXQgZmlsZSBuYW1lXG4gICAgICAgIGNvbnN0IGZpbGVOYW1lID0gZmlsZW5hbWUuc3Vic3RyaW5nKDAsZmlsZW5hbWUubGFzdEluZGV4T2YoJy4nKSk7XG4gICAgICAgIHJldHVybiBmaWxlTmFtZTtcbiAgICB9XG5cbiAgICBnZXRGaWxlRXh0ZW5zaW9uKGZpbGVuYW1lKXtcbiAgICAgICAgLy8gZ2V0IGZpbGUgZXh0ZW5zaW9uXG4gICAgICAgIGNvbnN0IGV4dGVuc2lvbiA9IGZpbGVuYW1lLnN1YnN0cmluZyhmaWxlbmFtZS5sYXN0SW5kZXhPZignLicpICsgMSwgZmlsZW5hbWUubGVuZ3RoKTtcbiAgICAgICAgcmV0dXJuIGV4dGVuc2lvbjtcbiAgICB9XG4gICAgXG4gICAgcHJpdmF0ZSBzZXREZWZhdWx0Rm9ybSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcGVwRmllbGQgPSBuZXcgUGVwRmllbGRCYXNlKHtcbiAgICAgICAgICAgIGtleTogdGhpcy5rZXksXG4gICAgICAgICAgICB2YWx1ZTogdGhpcy5zcmMsXG4gICAgICAgICAgICBtYW5kYXRvcnk6IHRoaXMubWFuZGF0b3J5LFxuICAgICAgICAgICAgZGlzYWJsZWQ6IHRoaXMuZGlzYWJsZWQsXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmZvcm0gPSB0aGlzLmN1c3RvbWl6YXRpb25TZXJ2aWNlLmdldERlZmF1bHRGcm9tR3JvdXAocGVwRmllbGQpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5mb3JtID09PSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLnNldERlZmF1bHRGb3JtKCk7XG4gICAgICAgIH1cbiAgICAgICAgLyp0aGlzLnVwbG9hZGVyLm9uQ29tcGxldGVBbGwgPSAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgICAgIH0qL1xuICAgIH1cblxuICAgIGlzVmFsaWRGaWxlKFxuICAgICAgICBmaWxlU3RyLFxuICAgICAgICBmaWxlRXh0ZW5zaW9uLFxuICAgICAgICBhY2NlcHRlZEV4dGVuc2lvbnMsXG4gICAgICAgIHNpemVMaW1pdE1CID0gNVxuICAgICk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGZpbGU6IGFueSA9IGZpbGVTdHI7XG4gICAgICAgIGxldCBmaWxlU2l6ZSA9IDA7XG4gICAgICAgIGxldCBjb250ZW50ID0gJyc7XG4gICAgICAgIC8vIGNoZWNrIGlmIGdvdCBmaWxlIGFzIEJhc2U2NFxuICAgICAgICBpZiAodHlwZW9mIGZpbGVTdHIgPT09ICdzdHJpbmcnICYmIGZpbGVTdHIuaW5kZXhPZignZGF0YTonKSA+IC0xKSB7XG4gICAgICAgICAgICBmaWxlU2l6ZSA9IHRoaXMuZ2V0QmFzZTY0RmlsZVNpemUoZmlsZVN0cik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBmaWxlU2l6ZSA9IGZpbGUuc2l6ZTtcbiAgICAgICAgfVxuICAgICAgICAvLyBjaGVjayB0aGUgc2l6ZSBhbmQgdGhlIGV4dGVuc2lvblxuICAgICAgICBjb25zdCBzaXplT0s6IGJvb2xlYW4gPVxuICAgICAgICAgICAgZmlsZVNpemUgIT09IC0xICYmIGZpbGUgIT0gbnVsbCAmJiBmaWxlU2l6ZSA8IHNpemVMaW1pdE1CICogMTA0ODU3NjtcbiAgICAgICAgY29uc3QgZXh0ZW5zaW9uT0sgPVxuICAgICAgICAgICAgYWNjZXB0ZWRFeHRlbnNpb25zID09PSAnJyB8fFxuICAgICAgICAgICAgYWNjZXB0ZWRFeHRlbnNpb25zLmluZGV4T2YoZmlsZUV4dGVuc2lvbi50b0xvd2VyQ2FzZSgpKSAhPT0gLTE7XG4gICAgICAgIGlmICghZXh0ZW5zaW9uT0spIHtcbiAgICAgICAgICAgIGNvbnRlbnQgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFxuICAgICAgICAgICAgICAgICdNRVNTQUdFUy5FUlJPUl9GQUlMRF9UT19MT0FEX0VYVEVOU0lPTicsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWxlRXh0ZW5zaW9uOlxuICAgICAgICAgICAgICAgICAgICAgICAgXCI8bGFiZWwgY2xhc3M9J3VwcGVyY2FzZSBib2xkJz5cIiArXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxlRXh0ZW5zaW9uICtcbiAgICAgICAgICAgICAgICAgICAgICAgICc8L2xhYmVsPicsXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIGlmICghc2l6ZU9LKSB7XG4gICAgICAgICAgICBjb250ZW50ID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudChcbiAgICAgICAgICAgICAgICAnTUVTU0FHRVMuRVJST1JfRkFJTERfVE9fTE9BRF9TSVpFJyxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpbGVTaXplOlxuICAgICAgICAgICAgICAgICAgICAgICAgXCI8bGFiZWwgY2xhc3M9J3VwcGVyY2FzZSBib2xkJz5cIiArXG4gICAgICAgICAgICAgICAgICAgICAgICBzaXplTGltaXRNQi50b1N0cmluZygpICtcbiAgICAgICAgICAgICAgICAgICAgICAgICc8L2xhYmVsPicsXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY29udGVudDtcbiAgICB9XG5cbiAgICBnZXRCYXNlNjRGaWxlU2l6ZShiYXNlNjRTdHJpbmc6IHN0cmluZyk6IG51bWJlciB7XG4gICAgICAgIGxldCBmaWxlU2l6ZTogbnVtYmVyO1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBiYXNlNjRTdHJpbmcgPSBiYXNlNjRTdHJpbmcuc3Vic3RyKGJhc2U2NFN0cmluZy5pbmRleE9mKCcsJykgKyAxKTtcbiAgICAgICAgICAgIGZpbGVTaXplID0gYXRvYihiYXNlNjRTdHJpbmcpLmxlbmd0aDtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgZmlsZVNpemUgPSAtMTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmaWxlU2l6ZTsgLy8gcmV0dXJuIHNpemUgaW4gYnl0ZXM7XG4gICAgfVxuXG4gICAgLy8gc2V0SW50ZXJ2YWxYKGRlbGF5LCByZXBldGl0aW9ucyk6IHZvaWQge1xuICAgIC8vICAgICBsZXQgeCA9IDA7XG4gICAgLy8gICAgIHRoaXMuaW50ZXJ2YWxJRCA9IHdpbmRvdy5zZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgLy8gICAgICAgICAvLyB0aGlzLnNldFByb2dyZXNzKHRoaXMucHJvZ3Jlc3MgKyA1KTtcbiAgICAvLyAgICAgICAgIGlmICgrK3ggPT09IHJlcGV0aXRpb25zIHx8IHRoaXMudXBsb2FkZXIucHJvZ3Jlc3MgPj0gMTAwKSB7XG4gICAgLy8gICAgICAgICAgICAgd2luZG93LmNsZWFySW50ZXJ2YWwodGhpcy5pbnRlcnZhbElEKTtcbiAgICAvLyAgICAgICAgIH1cbiAgICAvLyAgICAgfSwgZGVsYXkpO1xuICAgIC8vIH1cblxuICAgIGVycm9ySGFuZGxlcihldmVudCk6IHZvaWQge1xuICAgICAgICBldmVudC50YXJnZXQuc3JjID0gdGhpcy5maWxlU2VydmljZS5nZXRTdmdBc0ltYWdlU3JjKFxuICAgICAgICAgICAgcGVwSWNvbk5vSW1hZ2UyLmRhdGFcbiAgICAgICAgKTtcbiAgICAgICAgZXZlbnQudGFyZ2V0LnRpdGxlID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnSU1BR0UuTk9fSU1BR0UnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFByb2dyZXNzKHByb2dyZXNzKTogdm9pZCB7XG4gICAgICAgIHRoaXMucHJvZ3Jlc3MgPSBwcm9ncmVzcztcbiAgICAgICAgdGhpcy51cGxvYWRlci5wcm9ncmVzcyA9IHByb2dyZXNzO1xuICAgIH1cblxuICAgIGRlbGV0ZUZpbGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBsb2FkZXIuY2xlYXJRdWV1ZSgpO1xuICAgICAgICB3aW5kb3cuY2xlYXJJbnRlcnZhbCh0aGlzLmludGVydmFsSUQpO1xuICAgICAgICB0aGlzLnNldFByb2dyZXNzKDApO1xuXG4gICAgICAgIGNvbnN0IGVtcGx0VmFsdWUgPSAnJztcbiAgICAgICAgdGhpcy5zcmMgPSBlbXBsdFZhbHVlO1xuXG4gICAgICAgIHRoaXMuZmlsZUNoYW5nZS5lbWl0KG51bGwpO1xuXG4gICAgICAgIC8vIHRoaXMuZmlsZUNoYW5nZS5lbWl0KHtcbiAgICAgICAgLy8gICAgIGFjY2VwdGVkRXh0ZW5zaW9uczogdGhpcy5hY2NlcHRlZEV4dGVuc2lvbnMsXG4gICAgICAgIC8vICAgICBmaWxlU3RyOiBudWxsLFxuICAgICAgICAvLyAgICAgZmlsZUV4dDogbnVsbCxcbiAgICAgICAgLy8gfSk7XG4gICAgfVxuXG4gICAgb25FbGVtZW50Q2xpY2tlZChldmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVsZW1lbnRDbGljay5lbWl0KHtcbiAgICAgICAgICAgIGtleTogdGhpcy5rZXksXG4gICAgICAgICAgICBjb250cm9sVHlwZTogdGhpcy5jb250cm9sVHlwZSxcbiAgICAgICAgICAgIGV2ZW50V2hpY2g6IGV2ZW50LndoaWNoLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbkNsaWNrX0Nob29zZUZpbGUoZXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaGFuZGxlQWN0aW9ucykge1xuICAgICAgICAgICAgaWYgKHRoaXMuZmlsZUlucHV0Py5uYXRpdmVFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudC5jbGljaygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jaG9vc2VGaWxlLmVtaXQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uS2V5UHJlc3NfQ2hvb3NlRmlsZShldmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5oYW5kbGVBY3Rpb25zKSB7XG4gICAgICAgICAgICBjb25zdCBlID0gZXZlbnQgYXMgS2V5Ym9hcmRFdmVudDtcblxuICAgICAgICAgICAgaWYgKFsxMywgMzJdLmluZGV4T2YoZS53aGljaCkgIT09IC0xKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZmlsZUlucHV0Py5uYXRpdmVFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNob29zZUZpbGUuZW1pdCgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPG5nLXRlbXBsYXRlICNwZXBUZW1wbGF0ZT5cbiAgICA8bWF0LWZvcm0tZmllbGQgW2Zvcm1Hcm91cF09XCJmb3JtXCIgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInBlcC1maWxlLXdyYXBwZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwZXAtZmlsZSBib2R5LXNtXCIgW3N0eWxlLmhlaWdodF09XCJmaWVsZEhlaWdodFwiIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgJ29uZS1yb3cnOiByb3dTcGFuID09IDEsXG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGU6IGRpc2FibGVkXG4gICAgICAgICAgICAgICAgfVwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzcmMgIT0gJyc7IHRoZW4gd2l0aEltZzsgZWxzZSBub0ltZ1wiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjd2l0aEltZz5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cIiFkaXNhYmxlZFwiIG1hdC1idXR0b24gKGNsaWNrKT1cImRlbGV0ZUZpbGUoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInBlcC1idXR0b24gaWNvbi1idXR0b24gd2VhayBtZCBkZWxldGVcIiB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ3JpZ2h0LWFsaWdubWVudCc6IHhBbGlnbm1lbnQgPT0gJ3JpZ2h0JyB9XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBlcC1pY29uIG5hbWU9XCJzeXN0ZW1fYmluXCI+PC9wZXAtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGVwLWZpbGUtcHJldmlld1wiIChjbGljayk9XCJvbkVsZW1lbnRDbGlja2VkKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgKm5nSWY9XCJjb250cm9sVHlwZSA9PT0gJ2ltYWdlJ1wiICNpbWFnZVByZXZpZXcgW3NyY109XCJzcmNcIiBjbGFzcz1cInBlcC1maWxlLXByZXZpZXctaW1nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUubWF4LWhlaWdodF09XCJmaWVsZEhlaWdodFwiIChlcnJvcik9XCJlcnJvckhhbmRsZXIoJGV2ZW50KVwiIFthbHRdPVwibGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIlsndGV4dC1hbGlnbi0nICsgeEFsaWdubWVudF1cIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImNvbnRyb2xUeXBlID09PSAnYXR0YWNobWVudCdcIiBjbGFzcz1cImVsbGlwc2lzIHBlcC1maWxlLW1lc3NhZ2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSAqbmdJZj1cInNyYyAhPSAnJ1wiIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwicGVwLXNwYWNpbmctZWxlbWVudFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBlcC1pY29uIG5hbWU9XCJzeXN0ZW1fYXR0YWNoXCI+PC9wZXAtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJib2R5LXNtIGVsbGlwc2lzXCI+e3sgJ0ZJTEUuU0VFX09SSUdJTkFMJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI25vSW1nPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZWxsaXBzaXMgcGVwLWZpbGUtbWVzc2FnZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwiY29udHJvbFR5cGUgPT09ICdhdHRhY2htZW50J1wiIGNsYXNzPVwicGVwLXNwYWNpbmctZWxlbWVudFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwZXAtaWNvbiBuYW1lPVwic3lzdGVtX2F0dGFjaFwiPjwvcGVwLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwiY29udHJvbFR5cGUgPT09ICdpbWFnZSdcIiBjbGFzcz1cInBlcC1zcGFjaW5nLWVsZW1lbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGVwLWljb24gbmFtZT1cInN5c3RlbV9maWxlX3VwbG9hZF9jbG91ZFwiPjwvcGVwLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJib2R5LXNtIGVsbGlwc2lzXCIgKm5nSWY9XCJwcm9ncmVzcyA9PSAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgKGRpc2FibGVkID8gKGNvbnRyb2xUeXBlID09PSAnaW1hZ2UnID8gJ01FU1NBR0VTLklORk9fTUlTU0lOR19JTUFHRScgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNRVNTQUdFUy5JTkZPX01JU1NJTkdfRklMRScpIDogJ0ZJTEUuSElOVCcpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxwICpuZ0lmPVwicHJvZ3Jlc3MgIT0gMFwiIGNsYXNzPVwicHVsbC1sZWZ0IGZsaXBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ3B1bGwtbGVmdCBmbGlwJzogcm93U3BhbiA9PSAxLCBpbWFnZTogY29udHJvbFR5cGUgPT0gJ2ltYWdlJywgYXR0YWNobWVudDogY29udHJvbFR5cGUgPT0gJ2F0dGFjaG1lbnQnIH1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAnRklMRS5VUExPQURJTkdfRklMRScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4gLS0+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWRpc2FibGVkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgKm5nSWY9XCJoYW5kbGVBY3Rpb25zXCIgI2ZpbGVJbnB1dCBpZD1cInBlcC1maWxlLXt7IGtleSB9fVwiIHRhYmluZGV4PVwiLTFcIiB0eXBlPVwiZmlsZVwiIGFjY2VwdD1cImFjY2VwdGVkRXh0ZW5zaW9uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmcyRmlsZVNlbGVjdCBbdXBsb2FkZXJdPVwidXBsb2FkZXJcIiBhdXRvY29tcGxldGU9XCJvZmZcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwicHJvZ3Jlc3MgIT0gMFwiIG1hdC1idXR0b24gY2xhc3M9XCJwZXAtYnV0dG9uIGljb24tYnV0dG9uIHdlYWsgbWQgZGVsZXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdyaWdodC1hbGlnbm1lbnQnOiB4QWxpZ25tZW50ID09ICdyaWdodCcgfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBlcC1pY29uIG5hbWU9XCJzeXN0ZW1fcHJvY2Vzc2luZ1wiIFtzcGluXT1cInRydWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wZXAtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxpbnB1dCBbaWRdPVwia2V5XCIgbWF0SW5wdXQgW25hbWVdPVwia2V5XCIgW2Zvcm1Db250cm9sTmFtZV09XCJrZXlcIiBjbGFzcz1cImhpZGRlbi1pbnB1dFwiIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICBbdmFsdWVdPVwic3JjXCIgKGNsaWNrKT1cIm9uQ2xpY2tfQ2hvb3NlRmlsZSgkZXZlbnQpXCIgKGtleXByZXNzKT1cIm9uS2V5UHJlc3NfQ2hvb3NlRmlsZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIiAvPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8bWF0LWVycm9yPjxzcGFuIGNsYXNzPVwiYm9keS14c1wiXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cIm1hbmRhdG9yeSAmJiBzcmMubGVuZ3RoID09IDAgPyAoJ01FU1NBR0VTLkVSUk9SX0lTX1JFUVVJUkVEJyB8IHRyYW5zbGF0ZTogeyBmaWVsZDogbGFiZWwgfSkgOiAoJ01FU1NBR0VTLkVSUk9SX0lTX05PVF9WQUxJRCcgfCB0cmFuc2xhdGU6IHsgZmllbGQ6IGxhYmVsIH0pXCJcbiAgICAgICAgICAgICAgICBbaW5uZXJUZXh0XT1cIm1hbmRhdG9yeSAmJiBzcmMubGVuZ3RoID09IDAgPyAoJ01FU1NBR0VTLkVSUk9SX0lTX1JFUVVJUkVEJyB8IHRyYW5zbGF0ZTogeyBmaWVsZDogbGFiZWwgfSkgOiAoJ01FU1NBR0VTLkVSUk9SX0lTX05PVF9WQUxJRCcgfCB0cmFuc2xhdGU6IHsgZmllbGQ6IGxhYmVsIH0pXCI+PC9zcGFuPlxuICAgICAgICA8L21hdC1lcnJvcj5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImxheW91dFR5cGUgPT09ICdmb3JtJ1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJwZXBUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJsYXlvdXRUeXBlID09PSAnY2FyZCdcIj5cbiAgICA8IS0tIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJwZXBUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPiAtLT5cbjwvbmctY29udGFpbmVyPlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwibGF5b3V0VHlwZSA9PT0gJ3RhYmxlJ1wiPlxuICAgIDwhLS0gPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInBlcFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+IC0tPlxuPC9uZy1jb250YWluZXI+Il19
|
|
@@ -19,9 +19,11 @@ export class PepSignatureDialogComponent {
|
|
|
19
19
|
canvasHeight: 300,
|
|
20
20
|
penColor: 'rgb(151, 151, 151)',
|
|
21
21
|
};
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
if (data) {
|
|
23
|
+
this.signatureURL = data.value ?? '';
|
|
24
|
+
this.data.showActionBtn = data.showActionBtn ?? true;
|
|
25
|
+
this.data.disabled = data.disabled ?? false;
|
|
26
|
+
}
|
|
25
27
|
}
|
|
26
28
|
ngOnInit() {
|
|
27
29
|
}
|
|
@@ -62,10 +64,10 @@ export class PepSignatureDialogComponent {
|
|
|
62
64
|
}
|
|
63
65
|
}
|
|
64
66
|
PepSignatureDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepSignatureDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
65
|
-
PepSignatureDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepSignatureDialogComponent, selector: "ng-component", viewQueries: [{ propertyName: "signaturePad", first: true, predicate: ["signaturePad"], descendants: true }], ngImport: i0, template: "<pep-dialog [title]=\"'SIGNATURE.DIALOG_TITLE' | translate\" [showFooter]=\"data.showActionBtn\" [showClose]=\"true\" (close)=\"closeDialog($event)\">\n <ng-container pep-dialog-content>\n <signature-pad #signaturePad [options]=\"signaturePadOptions\" (onBeginEvent)=\"drawStart()\"\n (onEndEvent)=\"drawComplete()\">\n </signature-pad>\n </ng-container>\n <div pep-dialog-actions class=\"pep-spacing-element-negative\">\n <button mat-button class=\"pep-spacing-element pep-button md weak\" [disabled]=\"data.disabled\"\n (click)=\"clearSignModal()\">\n {{ 'ACTIONS.CLEAR' | translate }}\n </button>\n <button mat-button class=\"pep-spacing-element pep-button md strong\" [disabled]=\"data.disabled\"\n (click)=\"saveSignModal($event)\">\n {{ 'ACTIONS.DONE' | translate }}\n </button>\n </div>\n</pep-dialog>", styles: [""], dependencies: [{ kind: "component", type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i3.SignaturePad, selector: "signature-pad", inputs: ["options"], outputs: ["onBeginEvent", "onEndEvent"] }, { kind: "component", type: i4.PepDialogComponent, selector: "pep-dialog", inputs: ["title", "showClose", "showHeader", "showFooter"], outputs: ["close"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] });
|
|
67
|
+
PepSignatureDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepSignatureDialogComponent, selector: "ng-component", viewQueries: [{ propertyName: "signaturePad", first: true, predicate: ["signaturePad"], descendants: true }], ngImport: i0, template: "<pep-dialog [title]=\"data.title || ('SIGNATURE.DIALOG_TITLE' | translate)\" [showFooter]=\"data.showActionBtn\" [showClose]=\"true\" (close)=\"closeDialog($event)\">\n <ng-container pep-dialog-content>\n <signature-pad #signaturePad [options]=\"signaturePadOptions\" (onBeginEvent)=\"drawStart()\"\n (onEndEvent)=\"drawComplete()\">\n </signature-pad>\n </ng-container>\n <div pep-dialog-actions class=\"pep-spacing-element-negative\">\n <button mat-button class=\"pep-spacing-element pep-button md weak\" [disabled]=\"data.disabled\"\n (click)=\"clearSignModal()\">\n {{ 'ACTIONS.CLEAR' | translate }}\n </button>\n <button mat-button class=\"pep-spacing-element pep-button md strong\" [disabled]=\"data.disabled\"\n (click)=\"saveSignModal($event)\">\n {{ 'ACTIONS.DONE' | translate }}\n </button>\n </div>\n</pep-dialog>", styles: [""], dependencies: [{ kind: "component", type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i3.SignaturePad, selector: "signature-pad", inputs: ["options"], outputs: ["onBeginEvent", "onEndEvent"] }, { kind: "component", type: i4.PepDialogComponent, selector: "pep-dialog", inputs: ["title", "showClose", "showHeader", "showFooter"], outputs: ["close"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] });
|
|
66
68
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepSignatureDialogComponent, decorators: [{
|
|
67
69
|
type: Component,
|
|
68
|
-
args: [{ template: "<pep-dialog [title]=\"'SIGNATURE.DIALOG_TITLE' | translate\" [showFooter]=\"data.showActionBtn\" [showClose]=\"true\" (close)=\"closeDialog($event)\">\n <ng-container pep-dialog-content>\n <signature-pad #signaturePad [options]=\"signaturePadOptions\" (onBeginEvent)=\"drawStart()\"\n (onEndEvent)=\"drawComplete()\">\n </signature-pad>\n </ng-container>\n <div pep-dialog-actions class=\"pep-spacing-element-negative\">\n <button mat-button class=\"pep-spacing-element pep-button md weak\" [disabled]=\"data.disabled\"\n (click)=\"clearSignModal()\">\n {{ 'ACTIONS.CLEAR' | translate }}\n </button>\n <button mat-button class=\"pep-spacing-element pep-button md strong\" [disabled]=\"data.disabled\"\n (click)=\"saveSignModal($event)\">\n {{ 'ACTIONS.DONE' | translate }}\n </button>\n </div>\n</pep-dialog>" }]
|
|
70
|
+
args: [{ template: "<pep-dialog [title]=\"data.title || ('SIGNATURE.DIALOG_TITLE' | translate)\" [showFooter]=\"data.showActionBtn\" [showClose]=\"true\" (close)=\"closeDialog($event)\">\n <ng-container pep-dialog-content>\n <signature-pad #signaturePad [options]=\"signaturePadOptions\" (onBeginEvent)=\"drawStart()\"\n (onEndEvent)=\"drawComplete()\">\n </signature-pad>\n </ng-container>\n <div pep-dialog-actions class=\"pep-spacing-element-negative\">\n <button mat-button class=\"pep-spacing-element pep-button md weak\" [disabled]=\"data.disabled\"\n (click)=\"clearSignModal()\">\n {{ 'ACTIONS.CLEAR' | translate }}\n </button>\n <button mat-button class=\"pep-spacing-element pep-button md strong\" [disabled]=\"data.disabled\"\n (click)=\"saveSignModal($event)\">\n {{ 'ACTIONS.DONE' | translate }}\n </button>\n </div>\n</pep-dialog>" }]
|
|
69
71
|
}], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
|
|
70
72
|
type: Inject,
|
|
71
73
|
args: [MAT_DIALOG_DATA]
|
|
@@ -73,4 +75,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
73
75
|
type: ViewChild,
|
|
74
76
|
args: ['signaturePad']
|
|
75
77
|
}] } });
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmF0dXJlLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL3NpZ25hdHVyZS9zaWduYXR1cmUtZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvc2lnbmF0dXJlL3NpZ25hdHVyZS1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQWdCLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7O0FBZXpFLE1BQU0sT0FBTywyQkFBMkI7SUFjcEMsWUFDWSxTQUFvRCxFQUM1QixJQUE2QjtRQURyRCxjQUFTLEdBQVQsU0FBUyxDQUEyQztRQUM1QixTQUFJLEdBQUosSUFBSSxDQUF5QjtRQWZ6RCxpQkFBWSxHQUFHLEVBQUUsQ0FBQztRQUNsQix3QkFBbUIsR0FBRyxLQUFLLENBQUM7UUFFMUIsd0JBQW1CLEdBQVE7WUFDakMscURBQXFEO1lBQ3JELFFBQVEsRUFBRSxDQUFDO1lBQ1gsV0FBVyxFQUFFLEdBQUc7WUFDaEIsWUFBWSxFQUFFLEdBQUc7WUFDakIsUUFBUSxFQUFFLG9CQUFvQjtTQUNqQyxDQUFDO1FBUUUsSUFBSSxJQUFJLEVBQUU7WUFDTixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDO1lBQ3JELElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLElBQUksS0FBSyxDQUFDO1NBQy9DO0lBQ0wsQ0FBQztJQUVELFFBQVE7SUFFUixDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLEVBQUUsRUFBRTtZQUMvQyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDakQsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQztTQUMzQjtJQUNMLENBQUM7SUFFRCxZQUFZO1FBQ1IseURBQXlEO0lBQzdELENBQUM7SUFFRCxTQUFTO1FBQ0wsMkRBQTJEO0lBQy9ELENBQUM7SUFFRCxjQUFjO1FBQ1YsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBVTtRQUNwQixJQUFJLEtBQVUsQ0FBQztRQUVmLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQzlCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDN0QsS0FBSyxHQUFHO2dCQUNKLGtCQUFrQixFQUFFLElBQUksQ0FBQyxtQkFBbUI7Z0JBQzVDLE9BQU8sRUFBRSxJQUFJLENBQUMsWUFBWTtnQkFDMUIsT0FBTyxFQUFFLElBQUksQ0FBQyxtQkFBbUI7YUFDcEMsQ0FBQztTQUNMO2FBQU07WUFDSCxLQUFLLEdBQUcsRUFBRSxDQUFDO1NBQ2Q7UUFFRCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQUs7UUFDYixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxDQUFDOzt3SEFyRVEsMkJBQTJCLDhDQWdCeEIsZUFBZTs0R0FoQmxCLDJCQUEyQixrS0NoQnhDLHU2QkFnQmE7MkZEQUEsMkJBQTJCO2tCQUp2QyxTQUFTOzs7MEJBb0JELE1BQU07MkJBQUMsZUFBZTs0Q0FKQSxZQUFZO3NCQUF0QyxTQUFTO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5qZWN0LCBWaWV3Q2hpbGQsIEFmdGVyVmlld0luaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IFNpZ25hdHVyZVBhZCB9IGZyb20gJ25neC1zaWduYXR1cmVwYWQnO1xuXG5cbmludGVyZmFjZSBJUGVwU2lnbmF0dXJlRGlhbG9nRGF0YSB7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICB2YWx1ZTogc3RyaW5nO1xuICAgIHNob3dBY3Rpb25CdG46IGJvb2xlYW47XG4gICAgZGlzYWJsZWQ6IGJvb2xlYW47XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlVXJsOiAnLi9zaWduYXR1cmUtZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zaWduYXR1cmUtZGlhbG9nLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBlcFNpZ25hdHVyZURpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgcHJpdmF0ZSBzaWduYXR1cmVVUkwgPSAnJztcbiAgICBwcml2YXRlIGFjY2VwdFNpZ25hdHVyZVR5cGUgPSAncG5nJztcblxuICAgIHByb3RlY3RlZCBzaWduYXR1cmVQYWRPcHRpb25zOiBhbnkgPSB7XG4gICAgICAgIC8vIHBhc3NlZCB0aHJvdWdoIHRvIHN6aW1lay9zaWduYXR1cmVfcGFkIGNvbnN0cnVjdG9yXG4gICAgICAgIG1pbldpZHRoOiAyLFxuICAgICAgICBjYW52YXNXaWR0aDogNTAwLFxuICAgICAgICBjYW52YXNIZWlnaHQ6IDMwMCxcbiAgICAgICAgcGVuQ29sb3I6ICdyZ2IoMTUxLCAxNTEsIDE1MSknLFxuICAgIH07XG5cbiAgICBAVmlld0NoaWxkKCdzaWduYXR1cmVQYWQnKSBzaWduYXR1cmVQYWQ6IFNpZ25hdHVyZVBhZDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFBlcFNpZ25hdHVyZURpYWxvZ0NvbXBvbmVudD4sXG4gICAgICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogSVBlcFNpZ25hdHVyZURpYWxvZ0RhdGFcbiAgICApIHtcbiAgICAgICAgaWYgKGRhdGEpIHtcbiAgICAgICAgICAgIHRoaXMuc2lnbmF0dXJlVVJMID0gZGF0YS52YWx1ZSA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuZGF0YS5zaG93QWN0aW9uQnRuID0gZGF0YS5zaG93QWN0aW9uQnRuID8/IHRydWU7XG4gICAgICAgICAgICB0aGlzLmRhdGEuZGlzYWJsZWQgPSBkYXRhLmRpc2FibGVkID8/IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIFxuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuc2lnbmF0dXJlVVJMICYmIHRoaXMuc2lnbmF0dXJlVVJMICE9PSAnJykge1xuICAgICAgICAgICAgdGhpcy5zaWduYXR1cmVQYWQuZnJvbURhdGFVUkwodGhpcy5zaWduYXR1cmVVUkwpO1xuICAgICAgICAgICAgdGhpcy5zaWduYXR1cmVQYWQub2ZmKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBkcmF3Q29tcGxldGUoKTogdm9pZCB7XG4gICAgICAgIC8vIHdpbGwgYmUgbm90aWZpZWQgb2Ygc3ppbWVrL3NpZ25hdHVyZV9wYWQncyBvbkVuZCBldmVudFxuICAgIH1cblxuICAgIGRyYXdTdGFydCgpOiB2b2lkIHtcbiAgICAgICAgLy8gd2lsbCBiZSBub3RpZmllZCBvZiBzemltZWsvc2lnbmF0dXJlX3BhZCdzIG9uQmVnaW4gZXZlbnRcbiAgICB9XG5cbiAgICBjbGVhclNpZ25Nb2RhbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zaWduYXR1cmVVUkwgPSAnJztcbiAgICAgICAgdGhpcy5zaWduYXR1cmVQYWQuY2xlYXIoKTtcbiAgICAgICAgdGhpcy5zaWduYXR1cmVQYWQub24oKTtcbiAgICB9XG5cbiAgICBzYXZlU2lnbk1vZGFsKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgbGV0IHZhbHVlOiBhbnk7XG5cbiAgICAgICAgaWYgKCF0aGlzLnNpZ25hdHVyZVBhZC5pc0VtcHR5KCkpIHtcbiAgICAgICAgICAgIHRoaXMuc2lnbmF0dXJlVVJMID0gdGhpcy5zaWduYXR1cmVQYWQudG9EYXRhVVJMKCdpbWFnZS9wbmcnKTtcbiAgICAgICAgICAgIHZhbHVlID0ge1xuICAgICAgICAgICAgICAgIGFjY2VwdGVkRXh0ZW5zaW9uczogdGhpcy5hY2NlcHRTaWduYXR1cmVUeXBlLFxuICAgICAgICAgICAgICAgIGZpbGVTdHI6IHRoaXMuc2lnbmF0dXJlVVJMLFxuICAgICAgICAgICAgICAgIGZpbGVFeHQ6IHRoaXMuYWNjZXB0U2lnbmF0dXJlVHlwZSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB2YWx1ZSA9ICcnO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UodmFsdWUpO1xuICAgIH1cblxuICAgIGNsb3NlRGlhbG9nKGV2ZW50KSB7XG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKGV2ZW50KTtcbiAgICB9XG59XG4iLCI8cGVwLWRpYWxvZyBbdGl0bGVdPVwiZGF0YS50aXRsZSB8fCAoJ1NJR05BVFVSRS5ESUFMT0dfVElUTEUnIHwgdHJhbnNsYXRlKVwiIFtzaG93Rm9vdGVyXT1cImRhdGEuc2hvd0FjdGlvbkJ0blwiIFtzaG93Q2xvc2VdPVwidHJ1ZVwiIChjbG9zZSk9XCJjbG9zZURpYWxvZygkZXZlbnQpXCI+XG4gICAgPG5nLWNvbnRhaW5lciBwZXAtZGlhbG9nLWNvbnRlbnQ+XG4gICAgICAgIDxzaWduYXR1cmUtcGFkICNzaWduYXR1cmVQYWQgW29wdGlvbnNdPVwic2lnbmF0dXJlUGFkT3B0aW9uc1wiIChvbkJlZ2luRXZlbnQpPVwiZHJhd1N0YXJ0KClcIlxuICAgICAgICAgICAgKG9uRW5kRXZlbnQpPVwiZHJhd0NvbXBsZXRlKClcIj5cbiAgICAgICAgPC9zaWduYXR1cmUtcGFkPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxkaXYgcGVwLWRpYWxvZy1hY3Rpb25zIGNsYXNzPVwicGVwLXNwYWNpbmctZWxlbWVudC1uZWdhdGl2ZVwiPlxuICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gY2xhc3M9XCJwZXAtc3BhY2luZy1lbGVtZW50IHBlcC1idXR0b24gbWQgd2Vha1wiIFtkaXNhYmxlZF09XCJkYXRhLmRpc2FibGVkXCJcbiAgICAgICAgICAgIChjbGljayk9XCJjbGVhclNpZ25Nb2RhbCgpXCI+XG4gICAgICAgICAgICB7eyAnQUNUSU9OUy5DTEVBUicgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBjbGFzcz1cInBlcC1zcGFjaW5nLWVsZW1lbnQgcGVwLWJ1dHRvbiBtZCBzdHJvbmdcIiBbZGlzYWJsZWRdPVwiZGF0YS5kaXNhYmxlZFwiXG4gICAgICAgICAgICAoY2xpY2spPVwic2F2ZVNpZ25Nb2RhbCgkZXZlbnQpXCI+XG4gICAgICAgICAgICB7eyAnQUNUSU9OUy5ET05FJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbjwvcGVwLWRpYWxvZz4iXX0=
|
|
@@ -16,7 +16,7 @@ import { MatIconModule } from '@angular/material/icon';
|
|
|
16
16
|
import * as i10 from 'ng2-file-upload';
|
|
17
17
|
import { FileUploader, FileUploadModule } from 'ng2-file-upload';
|
|
18
18
|
import * as i2 from '@pepperi-addons/ngx-lib';
|
|
19
|
-
import { DEFAULT_HORIZONTAL_ALIGNMENT, PepNgxLibModule } from '@pepperi-addons/ngx-lib';
|
|
19
|
+
import { DEFAULT_HORIZONTAL_ALIGNMENT, PepFieldBase, PepNgxLibModule } from '@pepperi-addons/ngx-lib';
|
|
20
20
|
import * as i1$1 from '@pepperi-addons/ngx-lib/icon';
|
|
21
21
|
import { pepIconNoImage2, pepIconSystemBin, pepIconSystemAttach, pepIconSystemFileUploadCloud, pepIconSystemProcessing, PepIconModule } from '@pepperi-addons/ngx-lib/icon';
|
|
22
22
|
import * as i1 from '@pepperi-addons/ngx-lib/dialog';
|
|
@@ -103,7 +103,19 @@ class PepFilesUploaderComponent {
|
|
|
103
103
|
const extension = filename.substring(filename.lastIndexOf('.') + 1, filename.length);
|
|
104
104
|
return extension;
|
|
105
105
|
}
|
|
106
|
+
setDefaultForm() {
|
|
107
|
+
const pepField = new PepFieldBase({
|
|
108
|
+
key: this.key,
|
|
109
|
+
value: this.src,
|
|
110
|
+
mandatory: this.mandatory,
|
|
111
|
+
disabled: this.disabled,
|
|
112
|
+
});
|
|
113
|
+
this.form = this.customizationService.getDefaultFromGroup(pepField);
|
|
114
|
+
}
|
|
106
115
|
ngOnInit() {
|
|
116
|
+
if (this.form === null) {
|
|
117
|
+
this.setDefaultForm();
|
|
118
|
+
}
|
|
107
119
|
/*this.uploader.onCompleteAll = () => {
|
|
108
120
|
this.fileInput.nativeElement.value = '';
|
|
109
121
|
}*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pepperi-addons-ngx-lib-files-uploader.mjs","sources":["../../../projects/ngx-lib/files-uploader/files-uploader.component.ts","../../../projects/ngx-lib/files-uploader/files-uploader.component.html","../../../projects/ngx-lib/files-uploader/files-uploader.module.ts","../../../projects/ngx-lib/files-uploader/public-api.ts","../../../projects/ngx-lib/files-uploader/pepperi-addons-ngx-lib-files-uploader.ts"],"sourcesContent":["import { Observable } from 'rxjs';\nimport {\n Component,\n OnInit,\n Injectable,\n Input,\n Output,\n EventEmitter,\n ViewChild,\n ChangeDetectorRef,\n ChangeDetectionStrategy,\n Optional,\n} from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { FileUploader } from 'ng2-file-upload';\nimport { FormGroup } from '@angular/forms';\nimport {\n PepFileService,\n PepLayoutType,\n PepCustomizationService,\n PepHorizontalAlignment,\n DEFAULT_HORIZONTAL_ALIGNMENT,\n IPepFieldClickEvent,\n} from '@pepperi-addons/ngx-lib';\nimport {\n PepDialogService,\n PepDialogData,\n} from '@pepperi-addons/ngx-lib/dialog';\nimport { pepIconNoImage2 } from '@pepperi-addons/ngx-lib/icon';\n\nexport interface IPepFileChangeEvent {\n acceptedExtensions?: string;\n fileStr?: string;\n fileName?: string;\n fileExt?: string;\n}\n\n@Component({\n selector: 'pep-files-uploader',\n templateUrl: './files-uploader.component.html',\n styleUrls: ['./files-uploader.component.scss', './files-uploader.component.theme.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\n@Injectable()\nexport class PepFilesUploaderComponent implements OnInit {\n @Input() key = '';\n @Input() src = '';\n @Input() label = '';\n @Input() mandatory = false;\n @Input() disabled = false;\n @Input() xAlignment: PepHorizontalAlignment = DEFAULT_HORIZONTAL_ALIGNMENT;\n\n private _rowSpan = 1;\n @Input()\n set rowSpan(value) {\n this._rowSpan = value;\n }\n get rowSpan(): number {\n return this._rowSpan;\n }\n\n @Input() controlType = '';\n @Input() sizeLimitMB = 5;\n\n @Input() form: FormGroup;\n @Input() acceptedExtensions = 'bmp,jpg,jpeg,png,gif,ico,svg,html,css';\n @Input() layoutType: PepLayoutType = 'form';\n\n @Input() fieldHeight = '';\n \n // To know if handle actions or just raise them as output\n @Input() handleActions = true;\n \n @Output()\n chooseFile: EventEmitter<void> = new EventEmitter<void>(); // This event will fired only when handleActions Input is false\n \n @Output()\n fileChange: EventEmitter<IPepFileChangeEvent> = new EventEmitter<IPepFileChangeEvent>();\n @Output()\n elementClick: EventEmitter<IPepFieldClickEvent> = new EventEmitter<IPepFieldClickEvent>();\n\n @ViewChild('fileInput') fileInput: any;\n @ViewChild('imagePreview') imagePreview: any;\n\n // multiple = false;\n uploader: FileUploader;\n progress = 0;\n // response: string;\n intervalID: any = null;\n\n constructor(\n private dialogService: PepDialogService,\n private customizationService: PepCustomizationService,\n private fileService: PepFileService,\n private translate: TranslateService\n ) {\n this.uploader = new FileUploader({ removeAfterUpload: true });\n\n this.uploader.onAfterAddingFile = (item) => {\n if (this.fileInput?.nativeElement) {\n this.fileInput.nativeElement.value = '';\n }\n const reader = new FileReader();\n\n reader.onload = (event: any) => {\n // fix for DI-19376 - when there is a dot on the file name (not include the extantion one)\n //const fileNameArray = item._file.name.split('.');\n const fileName = this.getFileName(item._file.name); //fileNameArray[0];\n const fileExt = this.getFileExtension(item._file.name); //fileNameArray[1]; // item._file.name.split('.').pop();\n const target = event.target || event.srcElement;\n const fileStr = target.result;\n const errorMsg = this.isValidFile(\n fileStr,\n fileExt,\n this.acceptedExtensions,\n this.sizeLimitMB\n );\n if (errorMsg === '') {\n this.src = fileStr;\n // this.setIntervalX(25, 75);\n // this.setProgress(5);\n this.fileChange.emit({\n acceptedExtensions: this.acceptedExtensions,\n fileStr,\n fileName,\n fileExt,\n });\n } else {\n const title = this.translate.instant(\n 'MESSAGES.TITLE_NOTICE'\n );\n const data = new PepDialogData({\n title,\n content: errorMsg,\n });\n this.dialogService.openDefaultDialog(data);\n }\n };\n reader.readAsDataURL(item._file);\n\n \n };\n }\n\n getFileName(filename){\n // get file name\n const fileName = filename.substring(0,filename.lastIndexOf('.'));\n return fileName;\n }\n\n getFileExtension(filename){\n // get file extension\n const extension = filename.substring(filename.lastIndexOf('.') + 1, filename.length);\n return extension;\n }\n ngOnInit(): void {\n /*this.uploader.onCompleteAll = () => {\n this.fileInput.nativeElement.value = '';\n }*/\n }\n\n isValidFile(\n fileStr,\n fileExtension,\n acceptedExtensions,\n sizeLimitMB = 5\n ): string {\n const file: any = fileStr;\n let fileSize = 0;\n let content = '';\n // check if got file as Base64\n if (typeof fileStr === 'string' && fileStr.indexOf('data:') > -1) {\n fileSize = this.getBase64FileSize(fileStr);\n } else {\n fileSize = file.size;\n }\n // check the size and the extension\n const sizeOK: boolean =\n fileSize !== -1 && file != null && fileSize < sizeLimitMB * 1048576;\n const extensionOK =\n acceptedExtensions === '' ||\n acceptedExtensions.indexOf(fileExtension.toLowerCase()) !== -1;\n if (!extensionOK) {\n content = this.translate.instant(\n 'MESSAGES.ERROR_FAILD_TO_LOAD_EXTENSION',\n {\n fileExtension:\n \"<label class='uppercase bold'>\" +\n fileExtension +\n '</label>',\n }\n );\n } else if (!sizeOK) {\n content = this.translate.instant(\n 'MESSAGES.ERROR_FAILD_TO_LOAD_SIZE',\n {\n fileSize:\n \"<label class='uppercase bold'>\" +\n sizeLimitMB.toString() +\n '</label>',\n }\n );\n }\n return content;\n }\n\n getBase64FileSize(base64String: string): number {\n let fileSize: number;\n\n try {\n base64String = base64String.substr(base64String.indexOf(',') + 1);\n fileSize = atob(base64String).length;\n } catch (e) {\n fileSize = -1;\n }\n\n return fileSize; // return size in bytes;\n }\n\n // setIntervalX(delay, repetitions): void {\n // let x = 0;\n // this.intervalID = window.setInterval(() => {\n // // this.setProgress(this.progress + 5);\n // if (++x === repetitions || this.uploader.progress >= 100) {\n // window.clearInterval(this.intervalID);\n // }\n // }, delay);\n // }\n\n errorHandler(event): void {\n event.target.src = this.fileService.getSvgAsImageSrc(\n pepIconNoImage2.data\n );\n event.target.title = this.translate.instant('IMAGE.NO_IMAGE');\n }\n\n private setProgress(progress): void {\n this.progress = progress;\n this.uploader.progress = progress;\n }\n\n deleteFile(): void {\n this.uploader.clearQueue();\n window.clearInterval(this.intervalID);\n this.setProgress(0);\n\n const empltValue = '';\n this.src = empltValue;\n\n this.fileChange.emit(null);\n\n // this.fileChange.emit({\n // acceptedExtensions: this.acceptedExtensions,\n // fileStr: null,\n // fileExt: null,\n // });\n }\n\n onElementClicked(event): void {\n this.elementClick.emit({\n key: this.key,\n controlType: this.controlType,\n eventWhich: event.which,\n });\n }\n\n onClick_ChooseFile(event): void {\n if (this.handleActions) {\n if (this.fileInput?.nativeElement) {\n this.fileInput.nativeElement.click();\n }\n } else {\n this.chooseFile.emit();\n }\n }\n\n onKeyPress_ChooseFile(event): void {\n if (this.handleActions) {\n const e = event as KeyboardEvent;\n\n if ([13, 32].indexOf(e.which) !== -1) {\n if (this.fileInput?.nativeElement) {\n this.fileInput.nativeElement.click();\n }\n }\n e.preventDefault();\n } else {\n this.chooseFile.emit();\n }\n }\n}\n","<ng-template #pepTemplate>\n <mat-form-field [formGroup]=\"form\" appearance=\"outline\">\n <div class=\"pep-file-wrapper\">\n <div class=\"pep-file body-sm\" [style.height]=\"fieldHeight\" [ngClass]=\"{\n 'one-row': rowSpan == 1,\n disable: disabled\n }\">\n <ng-container *ngIf=\"src != ''; then withImg; else noImg\"></ng-container>\n <ng-template #withImg>\n <button *ngIf=\"!disabled\" mat-button (click)=\"deleteFile()\"\n class=\"pep-button icon-button weak md delete\" tabindex=\"-1\"\n [ngClass]=\"{ 'right-alignment': xAlignment == 'right' }\">\n <mat-icon>\n <pep-icon name=\"system_bin\"></pep-icon>\n </mat-icon>\n </button>\n <div class=\"pep-file-preview\" (click)=\"onElementClicked($event)\">\n <img *ngIf=\"controlType === 'image'\" #imagePreview [src]=\"src\" class=\"pep-file-preview-img\"\n [style.max-height]=\"fieldHeight\" (error)=\"errorHandler($event)\" [alt]=\"label\"\n [ngClass]=\"['text-align-' + xAlignment]\" />\n <div *ngIf=\"controlType === 'attachment'\" class=\"ellipsis pep-file-message\">\n <a *ngIf=\"src != ''\" href=\"javascript:void(0)\">\n <mat-icon class=\"pep-spacing-element\">\n <pep-icon name=\"system_attach\"></pep-icon>\n </mat-icon>\n <span class=\"body-sm ellipsis\">{{ 'FILE.SEE_ORIGINAL' | translate }}</span>\n </a>\n </div>\n </div>\n </ng-template>\n <ng-template #noImg>\n <div class=\"ellipsis pep-file-message\">\n <mat-icon *ngIf=\"controlType === 'attachment'\" class=\"pep-spacing-element\">\n <pep-icon name=\"system_attach\"></pep-icon>\n </mat-icon>\n <mat-icon *ngIf=\"controlType === 'image'\" class=\"pep-spacing-element\">\n <pep-icon name=\"system_file_upload_cloud\"></pep-icon>\n </mat-icon>\n <span class=\"body-sm ellipsis\" *ngIf=\"progress == 0\">\n {{ (disabled ? (controlType === 'image' ? 'MESSAGES.INFO_MISSING_IMAGE' :\n 'MESSAGES.INFO_MISSING_FILE') : 'FILE.HINT') | translate }}\n </span>\n <!-- <p *ngIf=\"progress != 0\" class=\"pull-left flip\"\n [ngClass]=\"{ 'pull-left flip': rowSpan == 1, image: controlType == 'image', attachment: controlType == 'attachment' }\">\n {{ 'FILE.UPLOADING_FILE' | translate }}\n </p> -->\n </div>\n <ng-container *ngIf=\"!disabled\">\n <input *ngIf=\"handleActions\" #fileInput id=\"pep-file-{{ key }}\" tabindex=\"-1\" type=\"file\" accept=\"acceptedExtensions\"\n ng2FileSelect [uploader]=\"uploader\" autocomplete=\"off\" />\n \n <button *ngIf=\"progress != 0\" mat-button class=\"pep-button icon-button weak md delete\"\n [ngClass]=\"{ 'right-alignment': xAlignment == 'right' }\">\n <mat-icon>\n <pep-icon name=\"system_processing\" [spin]=\"true\">\n </pep-icon>\n </mat-icon>\n </button>\n </ng-container>\n </ng-template>\n </div>\n <input [id]=\"key\" matInput [name]=\"key\" [formControlName]=\"key\" class=\"hidden-input\" type=\"text\"\n [value]=\"src\" (click)=\"onClick_ChooseFile($event)\" (keypress)=\"onKeyPress_ChooseFile($event)\"\n autocomplete=\"off\" />\n </div>\n\n <mat-error><span class=\"body-xs\"\n [title]=\"mandatory && src.length == 0 ? ('MESSAGES.ERROR_IS_REQUIRED' | translate: { field: label }) : ('MESSAGES.ERROR_IS_NOT_VALID' | translate: { field: label })\"\n [innerText]=\"mandatory && src.length == 0 ? ('MESSAGES.ERROR_IS_REQUIRED' | translate: { field: label }) : ('MESSAGES.ERROR_IS_NOT_VALID' | translate: { field: label })\"></span>\n </mat-error>\n </mat-form-field>\n</ng-template>\n\n<ng-container *ngIf=\"layoutType === 'form'\">\n <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\n</ng-container>\n\n<ng-container *ngIf=\"layoutType === 'card'\">\n <!-- <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container> -->\n</ng-container>\n\n<ng-container *ngIf=\"layoutType === 'table'\">\n <!-- <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container> -->\n</ng-container>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { MatCommonModule } from '@angular/material/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { FileUploadModule } from 'ng2-file-upload';\n\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport {\n PepIconModule,\n PepIconRegistry,\n pepIconSystemBin,\n pepIconSystemAttach,\n pepIconSystemFileUploadCloud,\n pepIconSystemProcessing,\n} from '@pepperi-addons/ngx-lib/icon';\nimport { PepDialogModule } from '@pepperi-addons/ngx-lib/dialog';\n\nimport { PepFilesUploaderComponent } from './files-uploader.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n // Material modules,\n MatCommonModule,\n MatButtonModule,\n MatFormFieldModule,\n MatInputModule,\n MatIconModule,\n // External modules\n FileUploadModule,\n // ngx-lib modules\n PepNgxLibModule,\n PepIconModule,\n PepDialogModule,\n ],\n exports: [PepFilesUploaderComponent],\n declarations: [PepFilesUploaderComponent],\n})\nexport class PepFilesUploaderModule {\n constructor(private pepIconRegistry: PepIconRegistry) {\n this.pepIconRegistry.registerIcons([\n pepIconSystemBin,\n pepIconSystemAttach,\n pepIconSystemFileUploadCloud,\n pepIconSystemProcessing,\n ]);\n }\n}\n","/*\n * Public API Surface of ngx-lib/files-uploader\n */\nexport * from './files-uploader.module';\nexport * from './files-uploader.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i11","i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pepperi-addons-ngx-lib-files-uploader.mjs","sources":["../../../projects/ngx-lib/files-uploader/files-uploader.component.ts","../../../projects/ngx-lib/files-uploader/files-uploader.component.html","../../../projects/ngx-lib/files-uploader/files-uploader.module.ts","../../../projects/ngx-lib/files-uploader/public-api.ts","../../../projects/ngx-lib/files-uploader/pepperi-addons-ngx-lib-files-uploader.ts"],"sourcesContent":["import { Observable } from 'rxjs';\nimport {\n Component,\n OnInit,\n Injectable,\n Input,\n Output,\n EventEmitter,\n ViewChild,\n ChangeDetectorRef,\n ChangeDetectionStrategy,\n Optional,\n} from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { FileUploader } from 'ng2-file-upload';\nimport { FormGroup } from '@angular/forms';\nimport {\n PepFileService,\n PepLayoutType,\n PepCustomizationService,\n PepHorizontalAlignment,\n DEFAULT_HORIZONTAL_ALIGNMENT,\n IPepFieldClickEvent,\n PepFieldBase,\n} from '@pepperi-addons/ngx-lib';\nimport {\n PepDialogService,\n PepDialogData,\n} from '@pepperi-addons/ngx-lib/dialog';\nimport { pepIconNoImage2 } from '@pepperi-addons/ngx-lib/icon';\n\nexport interface IPepFileChangeEvent {\n acceptedExtensions?: string;\n fileStr?: string;\n fileName?: string;\n fileExt?: string;\n}\n\n@Component({\n selector: 'pep-files-uploader',\n templateUrl: './files-uploader.component.html',\n styleUrls: ['./files-uploader.component.scss', './files-uploader.component.theme.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\n@Injectable()\nexport class PepFilesUploaderComponent implements OnInit {\n @Input() key = '';\n @Input() src = '';\n @Input() label = '';\n @Input() mandatory = false;\n @Input() disabled = false;\n @Input() xAlignment: PepHorizontalAlignment = DEFAULT_HORIZONTAL_ALIGNMENT;\n\n private _rowSpan = 1;\n @Input()\n set rowSpan(value) {\n this._rowSpan = value;\n }\n get rowSpan(): number {\n return this._rowSpan;\n }\n\n @Input() controlType = '';\n @Input() sizeLimitMB = 5;\n\n @Input() form: FormGroup;\n @Input() acceptedExtensions = 'bmp,jpg,jpeg,png,gif,ico,svg,html,css';\n @Input() layoutType: PepLayoutType = 'form';\n\n @Input() fieldHeight = '';\n \n // To know if handle actions or just raise them as output\n @Input() handleActions = true;\n \n @Output()\n chooseFile: EventEmitter<void> = new EventEmitter<void>(); // This event will fired only when handleActions Input is false\n \n @Output()\n fileChange: EventEmitter<IPepFileChangeEvent> = new EventEmitter<IPepFileChangeEvent>();\n @Output()\n elementClick: EventEmitter<IPepFieldClickEvent> = new EventEmitter<IPepFieldClickEvent>();\n\n @ViewChild('fileInput') fileInput: any;\n @ViewChild('imagePreview') imagePreview: any;\n\n // multiple = false;\n uploader: FileUploader;\n progress = 0;\n // response: string;\n intervalID: any = null;\n\n constructor(\n private dialogService: PepDialogService,\n private customizationService: PepCustomizationService,\n private fileService: PepFileService,\n private translate: TranslateService\n ) {\n this.uploader = new FileUploader({ removeAfterUpload: true });\n\n this.uploader.onAfterAddingFile = (item) => {\n if (this.fileInput?.nativeElement) {\n this.fileInput.nativeElement.value = '';\n }\n const reader = new FileReader();\n\n reader.onload = (event: any) => {\n // fix for DI-19376 - when there is a dot on the file name (not include the extantion one)\n //const fileNameArray = item._file.name.split('.');\n const fileName = this.getFileName(item._file.name); //fileNameArray[0];\n const fileExt = this.getFileExtension(item._file.name); //fileNameArray[1]; // item._file.name.split('.').pop();\n const target = event.target || event.srcElement;\n const fileStr = target.result;\n const errorMsg = this.isValidFile(\n fileStr,\n fileExt,\n this.acceptedExtensions,\n this.sizeLimitMB\n );\n if (errorMsg === '') {\n this.src = fileStr;\n // this.setIntervalX(25, 75);\n // this.setProgress(5);\n this.fileChange.emit({\n acceptedExtensions: this.acceptedExtensions,\n fileStr,\n fileName,\n fileExt,\n });\n } else {\n const title = this.translate.instant(\n 'MESSAGES.TITLE_NOTICE'\n );\n const data = new PepDialogData({\n title,\n content: errorMsg,\n });\n this.dialogService.openDefaultDialog(data);\n }\n };\n reader.readAsDataURL(item._file);\n\n \n };\n }\n\n getFileName(filename){\n // get file name\n const fileName = filename.substring(0,filename.lastIndexOf('.'));\n return fileName;\n }\n\n getFileExtension(filename){\n // get file extension\n const extension = filename.substring(filename.lastIndexOf('.') + 1, filename.length);\n return extension;\n }\n \n private setDefaultForm(): void {\n const pepField = new PepFieldBase({\n key: this.key,\n value: this.src,\n mandatory: this.mandatory,\n disabled: this.disabled,\n });\n this.form = this.customizationService.getDefaultFromGroup(pepField);\n }\n\n ngOnInit(): void {\n if (this.form === null) {\n this.setDefaultForm();\n }\n /*this.uploader.onCompleteAll = () => {\n this.fileInput.nativeElement.value = '';\n }*/\n }\n\n isValidFile(\n fileStr,\n fileExtension,\n acceptedExtensions,\n sizeLimitMB = 5\n ): string {\n const file: any = fileStr;\n let fileSize = 0;\n let content = '';\n // check if got file as Base64\n if (typeof fileStr === 'string' && fileStr.indexOf('data:') > -1) {\n fileSize = this.getBase64FileSize(fileStr);\n } else {\n fileSize = file.size;\n }\n // check the size and the extension\n const sizeOK: boolean =\n fileSize !== -1 && file != null && fileSize < sizeLimitMB * 1048576;\n const extensionOK =\n acceptedExtensions === '' ||\n acceptedExtensions.indexOf(fileExtension.toLowerCase()) !== -1;\n if (!extensionOK) {\n content = this.translate.instant(\n 'MESSAGES.ERROR_FAILD_TO_LOAD_EXTENSION',\n {\n fileExtension:\n \"<label class='uppercase bold'>\" +\n fileExtension +\n '</label>',\n }\n );\n } else if (!sizeOK) {\n content = this.translate.instant(\n 'MESSAGES.ERROR_FAILD_TO_LOAD_SIZE',\n {\n fileSize:\n \"<label class='uppercase bold'>\" +\n sizeLimitMB.toString() +\n '</label>',\n }\n );\n }\n return content;\n }\n\n getBase64FileSize(base64String: string): number {\n let fileSize: number;\n\n try {\n base64String = base64String.substr(base64String.indexOf(',') + 1);\n fileSize = atob(base64String).length;\n } catch (e) {\n fileSize = -1;\n }\n\n return fileSize; // return size in bytes;\n }\n\n // setIntervalX(delay, repetitions): void {\n // let x = 0;\n // this.intervalID = window.setInterval(() => {\n // // this.setProgress(this.progress + 5);\n // if (++x === repetitions || this.uploader.progress >= 100) {\n // window.clearInterval(this.intervalID);\n // }\n // }, delay);\n // }\n\n errorHandler(event): void {\n event.target.src = this.fileService.getSvgAsImageSrc(\n pepIconNoImage2.data\n );\n event.target.title = this.translate.instant('IMAGE.NO_IMAGE');\n }\n\n private setProgress(progress): void {\n this.progress = progress;\n this.uploader.progress = progress;\n }\n\n deleteFile(): void {\n this.uploader.clearQueue();\n window.clearInterval(this.intervalID);\n this.setProgress(0);\n\n const empltValue = '';\n this.src = empltValue;\n\n this.fileChange.emit(null);\n\n // this.fileChange.emit({\n // acceptedExtensions: this.acceptedExtensions,\n // fileStr: null,\n // fileExt: null,\n // });\n }\n\n onElementClicked(event): void {\n this.elementClick.emit({\n key: this.key,\n controlType: this.controlType,\n eventWhich: event.which,\n });\n }\n\n onClick_ChooseFile(event): void {\n if (this.handleActions) {\n if (this.fileInput?.nativeElement) {\n this.fileInput.nativeElement.click();\n }\n } else {\n this.chooseFile.emit();\n }\n }\n\n onKeyPress_ChooseFile(event): void {\n if (this.handleActions) {\n const e = event as KeyboardEvent;\n\n if ([13, 32].indexOf(e.which) !== -1) {\n if (this.fileInput?.nativeElement) {\n this.fileInput.nativeElement.click();\n }\n }\n e.preventDefault();\n } else {\n this.chooseFile.emit();\n }\n }\n}\n","<ng-template #pepTemplate>\n <mat-form-field [formGroup]=\"form\" appearance=\"outline\">\n <div class=\"pep-file-wrapper\">\n <div class=\"pep-file body-sm\" [style.height]=\"fieldHeight\" [ngClass]=\"{\n 'one-row': rowSpan == 1,\n disable: disabled\n }\">\n <ng-container *ngIf=\"src != ''; then withImg; else noImg\"></ng-container>\n <ng-template #withImg>\n <button *ngIf=\"!disabled\" mat-button (click)=\"deleteFile()\"\n class=\"pep-button icon-button weak md delete\" tabindex=\"-1\"\n [ngClass]=\"{ 'right-alignment': xAlignment == 'right' }\">\n <mat-icon>\n <pep-icon name=\"system_bin\"></pep-icon>\n </mat-icon>\n </button>\n <div class=\"pep-file-preview\" (click)=\"onElementClicked($event)\">\n <img *ngIf=\"controlType === 'image'\" #imagePreview [src]=\"src\" class=\"pep-file-preview-img\"\n [style.max-height]=\"fieldHeight\" (error)=\"errorHandler($event)\" [alt]=\"label\"\n [ngClass]=\"['text-align-' + xAlignment]\" />\n <div *ngIf=\"controlType === 'attachment'\" class=\"ellipsis pep-file-message\">\n <a *ngIf=\"src != ''\" href=\"javascript:void(0)\">\n <mat-icon class=\"pep-spacing-element\">\n <pep-icon name=\"system_attach\"></pep-icon>\n </mat-icon>\n <span class=\"body-sm ellipsis\">{{ 'FILE.SEE_ORIGINAL' | translate }}</span>\n </a>\n </div>\n </div>\n </ng-template>\n <ng-template #noImg>\n <div class=\"ellipsis pep-file-message\">\n <mat-icon *ngIf=\"controlType === 'attachment'\" class=\"pep-spacing-element\">\n <pep-icon name=\"system_attach\"></pep-icon>\n </mat-icon>\n <mat-icon *ngIf=\"controlType === 'image'\" class=\"pep-spacing-element\">\n <pep-icon name=\"system_file_upload_cloud\"></pep-icon>\n </mat-icon>\n <span class=\"body-sm ellipsis\" *ngIf=\"progress == 0\">\n {{ (disabled ? (controlType === 'image' ? 'MESSAGES.INFO_MISSING_IMAGE' :\n 'MESSAGES.INFO_MISSING_FILE') : 'FILE.HINT') | translate }}\n </span>\n <!-- <p *ngIf=\"progress != 0\" class=\"pull-left flip\"\n [ngClass]=\"{ 'pull-left flip': rowSpan == 1, image: controlType == 'image', attachment: controlType == 'attachment' }\">\n {{ 'FILE.UPLOADING_FILE' | translate }}\n </p> -->\n </div>\n <ng-container *ngIf=\"!disabled\">\n <input *ngIf=\"handleActions\" #fileInput id=\"pep-file-{{ key }}\" tabindex=\"-1\" type=\"file\" accept=\"acceptedExtensions\"\n ng2FileSelect [uploader]=\"uploader\" autocomplete=\"off\" />\n \n <button *ngIf=\"progress != 0\" mat-button class=\"pep-button icon-button weak md delete\"\n [ngClass]=\"{ 'right-alignment': xAlignment == 'right' }\">\n <mat-icon>\n <pep-icon name=\"system_processing\" [spin]=\"true\">\n </pep-icon>\n </mat-icon>\n </button>\n </ng-container>\n </ng-template>\n </div>\n <input [id]=\"key\" matInput [name]=\"key\" [formControlName]=\"key\" class=\"hidden-input\" type=\"text\"\n [value]=\"src\" (click)=\"onClick_ChooseFile($event)\" (keypress)=\"onKeyPress_ChooseFile($event)\"\n autocomplete=\"off\" />\n </div>\n\n <mat-error><span class=\"body-xs\"\n [title]=\"mandatory && src.length == 0 ? ('MESSAGES.ERROR_IS_REQUIRED' | translate: { field: label }) : ('MESSAGES.ERROR_IS_NOT_VALID' | translate: { field: label })\"\n [innerText]=\"mandatory && src.length == 0 ? ('MESSAGES.ERROR_IS_REQUIRED' | translate: { field: label }) : ('MESSAGES.ERROR_IS_NOT_VALID' | translate: { field: label })\"></span>\n </mat-error>\n </mat-form-field>\n</ng-template>\n\n<ng-container *ngIf=\"layoutType === 'form'\">\n <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\n</ng-container>\n\n<ng-container *ngIf=\"layoutType === 'card'\">\n <!-- <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container> -->\n</ng-container>\n\n<ng-container *ngIf=\"layoutType === 'table'\">\n <!-- <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container> -->\n</ng-container>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { MatCommonModule } from '@angular/material/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { FileUploadModule } from 'ng2-file-upload';\n\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport {\n PepIconModule,\n PepIconRegistry,\n pepIconSystemBin,\n pepIconSystemAttach,\n pepIconSystemFileUploadCloud,\n pepIconSystemProcessing,\n} from '@pepperi-addons/ngx-lib/icon';\nimport { PepDialogModule } from '@pepperi-addons/ngx-lib/dialog';\n\nimport { PepFilesUploaderComponent } from './files-uploader.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n // Material modules,\n MatCommonModule,\n MatButtonModule,\n MatFormFieldModule,\n MatInputModule,\n MatIconModule,\n // External modules\n FileUploadModule,\n // ngx-lib modules\n PepNgxLibModule,\n PepIconModule,\n PepDialogModule,\n ],\n exports: [PepFilesUploaderComponent],\n declarations: [PepFilesUploaderComponent],\n})\nexport class PepFilesUploaderModule {\n constructor(private pepIconRegistry: PepIconRegistry) {\n this.pepIconRegistry.registerIcons([\n pepIconSystemBin,\n pepIconSystemAttach,\n pepIconSystemFileUploadCloud,\n pepIconSystemProcessing,\n ]);\n }\n}\n","/*\n * Public API Surface of ngx-lib/files-uploader\n */\nexport * from './files-uploader.module';\nexport * from './files-uploader.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i11","i1"],"mappings":"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"}
|
|
@@ -30,7 +30,7 @@ import * as i5 from '@ngx-translate/core';
|
|
|
30
30
|
|
|
31
31
|
class PepSignatureDialogComponent {
|
|
32
32
|
constructor(dialogRef, data) {
|
|
33
|
-
var _a, _b;
|
|
33
|
+
var _a, _b, _c;
|
|
34
34
|
this.dialogRef = dialogRef;
|
|
35
35
|
this.data = data;
|
|
36
36
|
this.signatureURL = '';
|
|
@@ -42,9 +42,11 @@ class PepSignatureDialogComponent {
|
|
|
42
42
|
canvasHeight: 300,
|
|
43
43
|
penColor: 'rgb(151, 151, 151)',
|
|
44
44
|
};
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
45
|
+
if (data) {
|
|
46
|
+
this.signatureURL = (_a = data.value) !== null && _a !== void 0 ? _a : '';
|
|
47
|
+
this.data.showActionBtn = (_b = data.showActionBtn) !== null && _b !== void 0 ? _b : true;
|
|
48
|
+
this.data.disabled = (_c = data.disabled) !== null && _c !== void 0 ? _c : false;
|
|
49
|
+
}
|
|
48
50
|
}
|
|
49
51
|
ngOnInit() {
|
|
50
52
|
}
|
|
@@ -85,10 +87,10 @@ class PepSignatureDialogComponent {
|
|
|
85
87
|
}
|
|
86
88
|
}
|
|
87
89
|
PepSignatureDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepSignatureDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
88
|
-
PepSignatureDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepSignatureDialogComponent, selector: "ng-component", viewQueries: [{ propertyName: "signaturePad", first: true, predicate: ["signaturePad"], descendants: true }], ngImport: i0, template: "<pep-dialog [title]=\"'SIGNATURE.DIALOG_TITLE' | translate\" [showFooter]=\"data.showActionBtn\" [showClose]=\"true\" (close)=\"closeDialog($event)\">\n <ng-container pep-dialog-content>\n <signature-pad #signaturePad [options]=\"signaturePadOptions\" (onBeginEvent)=\"drawStart()\"\n (onEndEvent)=\"drawComplete()\">\n </signature-pad>\n </ng-container>\n <div pep-dialog-actions class=\"pep-spacing-element-negative\">\n <button mat-button class=\"pep-spacing-element pep-button md weak\" [disabled]=\"data.disabled\"\n (click)=\"clearSignModal()\">\n {{ 'ACTIONS.CLEAR' | translate }}\n </button>\n <button mat-button class=\"pep-spacing-element pep-button md strong\" [disabled]=\"data.disabled\"\n (click)=\"saveSignModal($event)\">\n {{ 'ACTIONS.DONE' | translate }}\n </button>\n </div>\n</pep-dialog>", styles: [""], dependencies: [{ kind: "component", type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i3.SignaturePad, selector: "signature-pad", inputs: ["options"], outputs: ["onBeginEvent", "onEndEvent"] }, { kind: "component", type: i1$1.PepDialogComponent, selector: "pep-dialog", inputs: ["title", "showClose", "showHeader", "showFooter"], outputs: ["close"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] });
|
|
90
|
+
PepSignatureDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepSignatureDialogComponent, selector: "ng-component", viewQueries: [{ propertyName: "signaturePad", first: true, predicate: ["signaturePad"], descendants: true }], ngImport: i0, template: "<pep-dialog [title]=\"data.title || ('SIGNATURE.DIALOG_TITLE' | translate)\" [showFooter]=\"data.showActionBtn\" [showClose]=\"true\" (close)=\"closeDialog($event)\">\n <ng-container pep-dialog-content>\n <signature-pad #signaturePad [options]=\"signaturePadOptions\" (onBeginEvent)=\"drawStart()\"\n (onEndEvent)=\"drawComplete()\">\n </signature-pad>\n </ng-container>\n <div pep-dialog-actions class=\"pep-spacing-element-negative\">\n <button mat-button class=\"pep-spacing-element pep-button md weak\" [disabled]=\"data.disabled\"\n (click)=\"clearSignModal()\">\n {{ 'ACTIONS.CLEAR' | translate }}\n </button>\n <button mat-button class=\"pep-spacing-element pep-button md strong\" [disabled]=\"data.disabled\"\n (click)=\"saveSignModal($event)\">\n {{ 'ACTIONS.DONE' | translate }}\n </button>\n </div>\n</pep-dialog>", styles: [""], dependencies: [{ kind: "component", type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i3.SignaturePad, selector: "signature-pad", inputs: ["options"], outputs: ["onBeginEvent", "onEndEvent"] }, { kind: "component", type: i1$1.PepDialogComponent, selector: "pep-dialog", inputs: ["title", "showClose", "showHeader", "showFooter"], outputs: ["close"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] });
|
|
89
91
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepSignatureDialogComponent, decorators: [{
|
|
90
92
|
type: Component,
|
|
91
|
-
args: [{ template: "<pep-dialog [title]=\"'SIGNATURE.DIALOG_TITLE' | translate\" [showFooter]=\"data.showActionBtn\" [showClose]=\"true\" (close)=\"closeDialog($event)\">\n <ng-container pep-dialog-content>\n <signature-pad #signaturePad [options]=\"signaturePadOptions\" (onBeginEvent)=\"drawStart()\"\n (onEndEvent)=\"drawComplete()\">\n </signature-pad>\n </ng-container>\n <div pep-dialog-actions class=\"pep-spacing-element-negative\">\n <button mat-button class=\"pep-spacing-element pep-button md weak\" [disabled]=\"data.disabled\"\n (click)=\"clearSignModal()\">\n {{ 'ACTIONS.CLEAR' | translate }}\n </button>\n <button mat-button class=\"pep-spacing-element pep-button md strong\" [disabled]=\"data.disabled\"\n (click)=\"saveSignModal($event)\">\n {{ 'ACTIONS.DONE' | translate }}\n </button>\n </div>\n</pep-dialog>" }]
|
|
93
|
+
args: [{ template: "<pep-dialog [title]=\"data.title || ('SIGNATURE.DIALOG_TITLE' | translate)\" [showFooter]=\"data.showActionBtn\" [showClose]=\"true\" (close)=\"closeDialog($event)\">\n <ng-container pep-dialog-content>\n <signature-pad #signaturePad [options]=\"signaturePadOptions\" (onBeginEvent)=\"drawStart()\"\n (onEndEvent)=\"drawComplete()\">\n </signature-pad>\n </ng-container>\n <div pep-dialog-actions class=\"pep-spacing-element-negative\">\n <button mat-button class=\"pep-spacing-element pep-button md weak\" [disabled]=\"data.disabled\"\n (click)=\"clearSignModal()\">\n {{ 'ACTIONS.CLEAR' | translate }}\n </button>\n <button mat-button class=\"pep-spacing-element pep-button md strong\" [disabled]=\"data.disabled\"\n (click)=\"saveSignModal($event)\">\n {{ 'ACTIONS.DONE' | translate }}\n </button>\n </div>\n</pep-dialog>" }]
|
|
92
94
|
}], ctorParameters: function () {
|
|
93
95
|
return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
|
|
94
96
|
type: Inject,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pepperi-addons-ngx-lib-signature.mjs","sources":["../../../projects/ngx-lib/signature/signature-dialog.component.ts","../../../projects/ngx-lib/signature/signature-dialog.component.html","../../../projects/ngx-lib/signature/signature.component.ts","../../../projects/ngx-lib/signature/signature.component.html","../../../projects/ngx-lib/signature/signature.module.ts","../../../projects/ngx-lib/signature/public-api.ts","../../../projects/ngx-lib/signature/pepperi-addons-ngx-lib-signature.ts"],"sourcesContent":["import { Component, OnInit, Inject, ViewChild, AfterViewInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { SignaturePad } from 'ngx-signaturepad';\n\n\ninterface IPepSignatureDialogData {\n value: string;\n showActionBtn: boolean;\n disabled: boolean;\n}\n\n@Component({\n templateUrl: './signature-dialog.component.html',\n styleUrls: ['./signature-dialog.component.scss'],\n})\nexport class PepSignatureDialogComponent implements OnInit, AfterViewInit {\n private signatureURL = '';\n private acceptSignatureType = 'png';\n\n protected signaturePadOptions: any = {\n // passed through to szimek/signature_pad constructor\n minWidth: 2,\n canvasWidth: 500,\n canvasHeight: 300,\n penColor: 'rgb(151, 151, 151)',\n };\n\n @ViewChild('signaturePad') signaturePad: SignaturePad;\n\n constructor(\n private dialogRef: MatDialogRef<PepSignatureDialogComponent>,\n @Inject(MAT_DIALOG_DATA) public data: IPepSignatureDialogData\n ) {\n this.signatureURL = data ? data.value : '';\n this.data.showActionBtn = data.showActionBtn ?? true;\n this.data.disabled = data.disabled ?? false;\n }\n\n ngOnInit(): void {\n \n }\n\n ngAfterViewInit(): void {\n if (this.signatureURL && this.signatureURL !== '') {\n this.signaturePad.fromDataURL(this.signatureURL);\n this.signaturePad.off();\n }\n }\n\n drawComplete(): void {\n // will be notified of szimek/signature_pad's onEnd event\n }\n\n drawStart(): void {\n // will be notified of szimek/signature_pad's onBegin event\n }\n\n clearSignModal(): void {\n this.signatureURL = '';\n this.signaturePad.clear();\n this.signaturePad.on();\n }\n\n saveSignModal(event: any): void {\n let value: any;\n\n if (!this.signaturePad.isEmpty()) {\n this.signatureURL = this.signaturePad.toDataURL('image/png');\n value = {\n acceptedExtensions: this.acceptSignatureType,\n fileStr: this.signatureURL,\n fileExt: this.acceptSignatureType,\n };\n } else {\n value = '';\n }\n\n this.dialogRef.close(value);\n }\n\n closeDialog(event) {\n this.dialogRef.close(event);\n }\n}\n","<pep-dialog [title]=\"'SIGNATURE.DIALOG_TITLE' | translate\" [showFooter]=\"data.showActionBtn\" [showClose]=\"true\" (close)=\"closeDialog($event)\">\n <ng-container pep-dialog-content>\n <signature-pad #signaturePad [options]=\"signaturePadOptions\" (onBeginEvent)=\"drawStart()\"\n (onEndEvent)=\"drawComplete()\">\n </signature-pad>\n </ng-container>\n <div pep-dialog-actions class=\"pep-spacing-element-negative\">\n <button mat-button class=\"pep-spacing-element pep-button md weak\" [disabled]=\"data.disabled\"\n (click)=\"clearSignModal()\">\n {{ 'ACTIONS.CLEAR' | translate }}\n </button>\n <button mat-button class=\"pep-spacing-element pep-button md strong\" [disabled]=\"data.disabled\"\n (click)=\"saveSignModal($event)\">\n {{ 'ACTIONS.DONE' | translate }}\n </button>\n </div>\n</pep-dialog>","import {\n Component,\n OnInit,\n OnDestroy,\n ViewChild,\n Input,\n Output,\n EventEmitter,\n ChangeDetectorRef,\n ChangeDetectionStrategy,\n OnChanges,\n ElementRef,\n Renderer2,\n TemplateRef,\n} from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { SignaturePad } from 'ngx-signaturepad/signature-pad';\nimport {\n PepFileService,\n PepLayoutType,\n PepCustomizationService,\n PepHorizontalAlignment,\n DEFAULT_HORIZONTAL_ALIGNMENT,\n PepSignatureField,\n IPepFieldClickEvent,\n} from '@pepperi-addons/ngx-lib';\nimport { PepDialogService } from '@pepperi-addons/ngx-lib/dialog';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { PepSignatureDialogComponent } from './signature-dialog.component';\n\n@Component({\n selector: 'pep-signature',\n styleUrls: ['./signature.component.scss', './signature.component.theme.scss'],\n templateUrl: './signature.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PepSignatureComponent implements OnInit, OnChanges, OnDestroy {\n @Input() key = '';\n @Input() src = '';\n @Input() label = '';\n @Input() mandatory = false;\n @Input() disabled = false;\n @Input() readonly = false;\n @Input() xAlignment: PepHorizontalAlignment = DEFAULT_HORIZONTAL_ALIGNMENT;\n\n private _rowSpan = 1;\n @Input()\n set rowSpan(value) {\n this._rowSpan = value;\n this.setFieldHeight();\n }\n get rowSpan(): number {\n return this._rowSpan;\n }\n\n @Input() signatureURL = '';\n // @Input() inDialog = false;\n\n private _visible = true;\n @Input()\n set visible(visible: boolean) {\n this._visible = visible;\n if (visible) {\n this.renderer.removeClass(\n this.element.nativeElement,\n 'hidden-element'\n );\n } else {\n this.renderer.addClass(\n this.element.nativeElement,\n 'hidden-element'\n );\n }\n }\n get visible(): boolean {\n return this._visible;\n }\n\n controlType = 'signature';\n\n @Input() form: FormGroup = null;\n @Input() showTitle = true;\n @Input() renderTitle = true;\n\n private _layoutType: PepLayoutType = 'form';\n @Input()\n set layoutType(value: PepLayoutType) {\n this._layoutType = value;\n this.setFieldHeight();\n }\n get layoutType(): PepLayoutType {\n return this._layoutType;\n }\n\n @Input() isActive = false;\n\n // To know if handle actions or just raise them as output\n @Input() handleActions = true;\n\n @Output()\n chooseFile: EventEmitter<void> = new EventEmitter<void>(); // This event will fired only when handleActions Input is false\n \n @Output()\n fileChange: EventEmitter<any> = new EventEmitter<any>();\n\n @Output()\n elementClick: EventEmitter<IPepFieldClickEvent> = new EventEmitter<IPepFieldClickEvent>();\n \n // @ViewChild('signaturePad') signaturePad: SignaturePad;\n // @ViewChild('signaturePad', {static: true}) private signaturePad!: SignaturePad; \n\n // @ViewChild('signaturePopupPad', { read: TemplateRef }) signaturePopupPad: TemplateRef<any>;\n dialogRef: MatDialogRef<any>;\n\n fieldHeight = '';\n standAlone = false;\n dataURI = null;\n showActionBtn = true;\n\n // public isVisibleModal = false;\n // acceptSignatureType = 'png';\n\n // public signaturePadOptions: any = {\n // // passed through to szimek/signature_pad constructor\n // minWidth: 2,\n // canvasWidth: 500,\n // canvasHeight: 300,\n // penColor: 'rgb(151, 151, 151)',\n // };\n\n constructor(\n private dialogService: PepDialogService,\n private customizationService: PepCustomizationService,\n private fileService: PepFileService,\n private cd: ChangeDetectorRef,\n private renderer: Renderer2,\n private element: ElementRef\n ) { }\n\n private setFieldHeight(): void {\n this.fieldHeight = this.customizationService.calculateFieldHeight(\n this.layoutType,\n this.rowSpan,\n this.standAlone\n );\n }\n\n private setDefaultForm(): void {\n const pepField = new PepSignatureField({\n key: this.key,\n value: this.src,\n mandatory: this.mandatory,\n readonly: this.readonly,\n disabled: this.disabled,\n });\n this.form = this.customizationService.getDefaultFromGroup(pepField);\n }\n\n private openSignatoreDlg(src = ''): void {\n this.showActionBtn = this.signatureURL && this.signatureURL !== '' ? false : true;\n\n // this.dialogRef = this.dialogService.openDialog(this.signaturePopupPad);\n // this.dialogRef.afterOpened().subscribe(() => {\n // this.afterDialogOpened();\n // });\n \n this.dialogRef = this.dialogService.openDialog(\n PepSignatureDialogComponent,\n {\n value: this.signatureURL,\n showActionBtn: this.showActionBtn,\n disabled: this.disabled || this.readonly\n }\n );\n\n this.dialogRef.afterClosed().subscribe((value) => {\n if (value !== undefined && value !== null) {\n if (value !== '') {\n this.signatureURL = value.fileStr;\n this.changeValue(value);\n } else {\n this.signatureURL = '';\n this.changeValue(this.signatureURL);\n }\n }\n });\n }\n\n // private afterDialogOpened(): void {\n // if (this.signatureURL && this.signatureURL !== '') {\n // this.signaturePad.fromDataURL(this.signatureURL);\n // this.signaturePad.off();\n // }\n // }\n\n ngOnInit(): void {\n if (this.form === null) {\n this.standAlone = true;\n this.setFieldHeight();\n this.setDefaultForm();\n\n this.renderer.addClass(\n this.element.nativeElement,\n PepCustomizationService.STAND_ALONE_FIELD_CLASS_NAME\n );\n\n if (!this.renderTitle) {\n this.renderer.addClass(\n this.element.nativeElement,\n PepCustomizationService.STAND_ALONE_FIELD_NO_SPACING_CLASS_NAME\n );\n }\n }\n }\n\n ngOnChanges(changes: any): void {\n if (this.standAlone) {\n this.setDefaultForm();\n }\n\n if (changes.src && changes.src.currentValue?.length > 0) {\n // Empty dataURI if there is change in the src.\n this.dataURI = null;\n\n // For clean the cache.\n // this.src = this.src ? this.src + '?t=' + new Date().toTimeString() : '';\n }\n }\n\n ngOnDestroy(): void {\n //\n }\n\n // drawComplete(): void {\n // // will be notified of szimek/signature_pad's onEnd event\n // }\n\n // drawStart(): void {\n // // will be notified of szimek/signature_pad's onBegin event\n // }\n\n openSignModal(): void {\n if (this.handleActions) {\n // If the signature is not empty open it in image viewer.\n //! Remove this `if` to always open signature in modal \n if (this.standAlone && this.dataURI) {\n const fileStrArr = this.dataURI.fileStr.split(';');\n\n if (fileStrArr.length === 2) {\n const win = window.open('', '_blank');\n const contentType = fileStrArr[0].split(':')[1];\n const base64 = fileStrArr[1].split(',')[1];\n const blob = this.fileService.convertFromb64toBlob(\n base64,\n contentType\n );\n const url = URL.createObjectURL(blob);\n win.location.href = url;\n }\n // signature allready exits\n } else {\n this.signatureURL = this.src;\n this.openSignatoreDlg(this.signatureURL);\n }\n } else {\n if (this.src.length > 0) {\n this.elementClick.emit({\n key: this.key,\n value: this.signatureURL\n });\n } else {\n this.chooseFile.emit();\n }\n }\n }\n\n deleteSignature(event: any): void {\n this.signatureURL = '';\n this.changeValue(this.signatureURL);\n this.cd.detectChanges();\n }\n\n // clearSignModal(): void {\n // this.signatureURL = '';\n // this.signaturePad.clear();\n // this.signaturePad.on();\n // }\n\n // saveSignModal(event: any): void {\n // if (!this.signaturePad.isEmpty()) {\n // this.signatureURL = this.signaturePad.toDataURL('image/png');\n // const fileValue = {\n // acceptedExtensions: this.acceptSignatureType,\n // fileStr: this.signatureURL,\n // fileExt: this.acceptSignatureType,\n // };\n // this.changeValue(fileValue);\n // } else {\n // this.signatureURL = '';\n // this.changeValue(this.signatureURL);\n // }\n\n // this.dialogRef.close(this.signatureURL);\n // }\n \n // closeDialog(event) {\n // this.dialogRef.close(event);\n // }\n\n errorHandler(event: any): void {\n this.signatureURL = this.src = ''; // this.blankImage;\n }\n\n changeValue(fileData: any): void {\n if (this.handleActions) {\n this.dataURI = fileData;\n this.src = this.standAlone && this.dataURI ? this.dataURI.fileStr : '';\n this.customizationService.updateFormFieldValue(\n this.form,\n this.key,\n this.dataURI ? this.dataURI.fileExt : ''\n );\n }\n this.fileChange.emit(fileData);\n }\n\n onKeyPress_OpenSignModal(event: any): void {\n const e = event as KeyboardEvent;\n\n if ([13, 32].indexOf(e.which) !== -1) {\n this.openSignModal();\n }\n e.preventDefault();\n }\n}","<ng-container [formGroup]=\"form\">\n <ng-container>\n <ng-template #pepTemplate>\n <mat-form-field [formGroup]=\"form\" appearance=\"outline\">\n <div class=\"pep-file-wrapper\">\n <div class=\"pep-file body-sm\" [ngClass]=\"{ disable: disabled }\" [style.height]=\"fieldHeight\">\n <ng-container *ngIf=\"src != ''; then withImg; else noImg\"></ng-container>\n <ng-template #withImg>\n <button *ngIf=\"!disabled\" mat-button (click)=\"deleteSignature($event)\"\n class=\"pep-button icon-button weak md delete\" tabindex=\"-1\"\n [ngClass]=\"{ 'right-alignment': xAlignment == 'right' }\">\n <mat-icon>\n <pep-icon name=\"system_bin\"></pep-icon>\n </mat-icon>\n </button>\n <div class=\"pep-file-preview\" (click)=\"openSignModal()\">\n <img [src]=\"src\" [style.max-height]=\"fieldHeight\" class=\"pep-file-preview-img\"\n (error)=\"errorHandler($event)\" [alt]=\"label\"\n [ngClass]=\"['text-align-' + xAlignment]\" />\n </div>\n </ng-template>\n <ng-template #noImg>\n <div class=\"ellipsis pep-file-message\">\n <mat-icon class=\"pep-spacing-element\">\n <pep-icon name=\"system_signature\"></pep-icon>\n </mat-icon>\n <span class=\"body-sm ellipsis\">\n {{ (disabled ? 'MESSAGES.INFO_MISSING_SIGNATURE' : 'SIGNATURE.HINT') | translate }}\n </span>\n </div>\n </ng-template>\n </div>\n <input [id]=\"key\" matInput [formControlName]=\"key\" class=\"hidden-input signature\" type=\"text\"\n [value]=\"src\" (click)=\"openSignModal()\" (keypress)=\"onKeyPress_OpenSignModal($event)\"\n autocomplete=\"off\" readonly />\n </div>\n\n <mat-error><span class=\"body-xs\"\n [title]=\"mandatory && src.length == 0 ? ('MESSAGES.ERROR_IS_REQUIRED' | translate: { field: label }) : ('MESSAGES.ERROR_IS_NOT_VALID' | translate: { field: label })\"\n [innerText]=\"mandatory && src.length == 0 ? ('MESSAGES.ERROR_IS_REQUIRED' | translate: { field: label }) : ('MESSAGES.ERROR_IS_NOT_VALID' | translate: { field: label })\"></span>\n </mat-error>\n </mat-form-field>\n </ng-template>\n\n <ng-container *ngIf=\"layoutType === 'form'\">\n <div class=\"pep-file-container\" [ngClass]=\"{ 'one-row': rowSpan == 1, 'stand-alone': standAlone}\">\n <pep-field-title *ngIf=\"renderTitle\" [label]=\"label\" [mandatory]=\"mandatory\" [disabled]=\"disabled\"\n [xAlignment]=\"xAlignment\" [showTitle]=\"showTitle\">\n </pep-field-title>\n <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"layoutType === 'card'\">\n <ng-container *ngIf=\"false && isActive && !disabled; then selectedBlock; else notSelectedBlock\">\n </ng-container>\n <ng-template #selectedBlock>\n <div class=\"pep-file-container\" [ngClass]=\"{ 'one-row': rowSpan == 1}\">\n <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\n </div>\n </ng-template>\n <ng-template #notSelectedBlock>\n <div class=\"pep-file-container\" [ngClass]=\"{ 'one-row': rowSpan == 1 }\">\n <ng-container *ngTemplateOutlet=\"pepReadonlyTemplate; context: { isTableView: false}\">\n </ng-container>\n </div>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"layoutType === 'table'\">\n <ng-container *ngIf=\"false && isActive && !disabled; then selectedBlock; else notSelectedBlock\">\n </ng-container>\n <ng-template #selectedBlock>\n <div class=\"pep-file-container one-row\">\n <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\n </div>\n </ng-template>\n <ng-template #notSelectedBlock>\n <div class=\"pep-file-container one-row\">\n <ng-container *ngTemplateOutlet=\"pepReadonlyTemplate; context: { isTableView: true}\">\n </ng-container>\n </div>\n </ng-template>\n </ng-container>\n </ng-container>\n\n <!-- <ng-container *ngIf=\"inDialog === true\">\n <ng-container *ngTemplateOutlet=\"signaturePopupPad\"></ng-container>\n </ng-container> -->\n\n <!-- <div *ngIf=\"inDialog === false\" class=\"signature-backdrop modal\" [ngClass]=\"{ fade: !isVisibleModal }\" tabindex=\"-1\"\n role=\"dialog\" aria-labelledby=\"gridModalLabel\" aria-hidden=\"true\"\n [ngStyle]=\"{ display: isVisibleModal ? 'block' : 'none' }\">\n <div class=\"signature-modal modal-dialog\" role=\"document\">\n <div class=\"modal-content\">\n <ng-container *ngTemplateOutlet=\"signaturePopupPad\"></ng-container>\n </div>\n </div>\n </div> -->\n\n <ng-template #pepReadonlyTemplate let-isTableView=\"isTableView\">\n <div class=\"pep-file-container\">\n <div class=\"pep-file-wrapper\">\n <div class=\"pep-file body-sm disable\">\n <ng-container *ngIf=\"src != ''; then withImg; else noImg\"></ng-container>\n <ng-template #withImg>\n <div class=\"pep-file-preview\" (click)=\"openSignModal()\">\n <img *ngIf=\"!isTableView\" [src]=\"src\" [style.max-height]=\"fieldHeight\"\n class=\"pep-file-preview-img\" (error)=\"errorHandler($event)\" [alt]=\"label\"\n [ngClass]=\"['text-align-' + xAlignment]\" />\n <img *ngIf=\"isTableView\" [src]=\"src\" [style.max-height]=\"fieldHeight\"\n class=\"pep-report-file pep-file-preview-img\" (error)=\"errorHandler($event)\"\n [alt]=\"label\" [ngClass]=\"['text-align-' + xAlignment]\" />\n </div>\n </ng-template>\n <ng-template #noImg></ng-template>\n </div>\n </div>\n </div>\n </ng-template>\n\n <!-- <ng-template #signaturePopupPad>\n <pep-dialog [title]=\"'SIGNATURE.DIALOG_TITLE' | translate\" [showFooter]=\"showActionBtn\" [showClose]=\"true\" (close)=\"closeDialog($event)\">\n <ng-container pep-dialog-content>\n <signature-pad #signaturePad [options]=\"signaturePadOptions\" (onBeginEvent)=\"drawStart()\"\n (onEndEvent)=\"drawComplete()\">\n </signature-pad>\n </ng-container>\n <div pep-dialog-actions class=\"pep-spacing-element-negative\">\n <button mat-button class=\"pep-spacing-element pep-button md weak\" [disabled]=\"readonly || disabled\"\n (click)=\"clearSignModal()\">\n {{ 'ACTIONS.CLEAR' | translate }}\n </button>\n <button mat-button class=\"pep-spacing-element pep-button md strong\" [disabled]=\"readonly || disabled\"\n (click)=\"saveSignModal($event)\">\n {{ 'ACTIONS.DONE' | translate }}\n </button>\n </div>\n </pep-dialog>\n </ng-template> -->\n\n</ng-container>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { MatCommonModule } from '@angular/material/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatDialogModule } from '@angular/material/dialog';\n\nimport { SignaturePadModule } from 'ngx-signaturepad';\n\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport {\n PepIconModule,\n PepIconRegistry,\n pepIconSystemBin,\n pepIconSystemSignature,\n pepIconSystemClose,\n} from '@pepperi-addons/ngx-lib/icon';\nimport { PepFieldTitleModule } from '@pepperi-addons/ngx-lib/field-title';\nimport { PepFilesUploaderModule } from '@pepperi-addons/ngx-lib/files-uploader';\nimport { PepDialogModule } from '@pepperi-addons/ngx-lib/dialog';\n\nimport { PepSignatureComponent } from './signature.component';\nimport { PepSignatureDialogComponent } from './signature-dialog.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n // Material modules\n MatCommonModule,\n MatButtonModule,\n MatFormFieldModule,\n MatInputModule,\n MatIconModule,\n MatDialogModule,\n // External modules\n SignaturePadModule,\n // ngx-lib modules\n PepNgxLibModule,\n PepIconModule,\n PepFieldTitleModule,\n PepFilesUploaderModule,\n PepDialogModule,\n ],\n exports: [PepSignatureComponent, PepSignatureDialogComponent],\n declarations: [PepSignatureComponent, PepSignatureDialogComponent],\n})\nexport class PepSignatureModule {\n constructor(private pepIconRegistry: PepIconRegistry) {\n this.pepIconRegistry.registerIcons([\n pepIconSystemBin,\n pepIconSystemSignature,\n pepIconSystemClose,\n ]);\n }\n}\n","/*\n * Public API Surface of ngx-lib/signature\n */\nexport * from './signature.module';\nexport * from './signature.component';\nexport * from './signature-dialog.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i4","i1","i2","i3","i5","i9","i11"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pepperi-addons-ngx-lib-signature.mjs","sources":["../../../projects/ngx-lib/signature/signature-dialog.component.ts","../../../projects/ngx-lib/signature/signature-dialog.component.html","../../../projects/ngx-lib/signature/signature.component.ts","../../../projects/ngx-lib/signature/signature.component.html","../../../projects/ngx-lib/signature/signature.module.ts","../../../projects/ngx-lib/signature/public-api.ts","../../../projects/ngx-lib/signature/pepperi-addons-ngx-lib-signature.ts"],"sourcesContent":["import { Component, OnInit, Inject, ViewChild, AfterViewInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { SignaturePad } from 'ngx-signaturepad';\n\n\ninterface IPepSignatureDialogData {\n title: string;\n value: string;\n showActionBtn: boolean;\n disabled: boolean;\n}\n\n@Component({\n templateUrl: './signature-dialog.component.html',\n styleUrls: ['./signature-dialog.component.scss'],\n})\nexport class PepSignatureDialogComponent implements OnInit, AfterViewInit {\n private signatureURL = '';\n private acceptSignatureType = 'png';\n\n protected signaturePadOptions: any = {\n // passed through to szimek/signature_pad constructor\n minWidth: 2,\n canvasWidth: 500,\n canvasHeight: 300,\n penColor: 'rgb(151, 151, 151)',\n };\n\n @ViewChild('signaturePad') signaturePad: SignaturePad;\n\n constructor(\n private dialogRef: MatDialogRef<PepSignatureDialogComponent>,\n @Inject(MAT_DIALOG_DATA) public data: IPepSignatureDialogData\n ) {\n if (data) {\n this.signatureURL = data.value ?? '';\n this.data.showActionBtn = data.showActionBtn ?? true;\n this.data.disabled = data.disabled ?? false;\n }\n }\n\n ngOnInit(): void {\n \n }\n\n ngAfterViewInit(): void {\n if (this.signatureURL && this.signatureURL !== '') {\n this.signaturePad.fromDataURL(this.signatureURL);\n this.signaturePad.off();\n }\n }\n\n drawComplete(): void {\n // will be notified of szimek/signature_pad's onEnd event\n }\n\n drawStart(): void {\n // will be notified of szimek/signature_pad's onBegin event\n }\n\n clearSignModal(): void {\n this.signatureURL = '';\n this.signaturePad.clear();\n this.signaturePad.on();\n }\n\n saveSignModal(event: any): void {\n let value: any;\n\n if (!this.signaturePad.isEmpty()) {\n this.signatureURL = this.signaturePad.toDataURL('image/png');\n value = {\n acceptedExtensions: this.acceptSignatureType,\n fileStr: this.signatureURL,\n fileExt: this.acceptSignatureType,\n };\n } else {\n value = '';\n }\n\n this.dialogRef.close(value);\n }\n\n closeDialog(event) {\n this.dialogRef.close(event);\n }\n}\n","<pep-dialog [title]=\"data.title || ('SIGNATURE.DIALOG_TITLE' | translate)\" [showFooter]=\"data.showActionBtn\" [showClose]=\"true\" (close)=\"closeDialog($event)\">\n <ng-container pep-dialog-content>\n <signature-pad #signaturePad [options]=\"signaturePadOptions\" (onBeginEvent)=\"drawStart()\"\n (onEndEvent)=\"drawComplete()\">\n </signature-pad>\n </ng-container>\n <div pep-dialog-actions class=\"pep-spacing-element-negative\">\n <button mat-button class=\"pep-spacing-element pep-button md weak\" [disabled]=\"data.disabled\"\n (click)=\"clearSignModal()\">\n {{ 'ACTIONS.CLEAR' | translate }}\n </button>\n <button mat-button class=\"pep-spacing-element pep-button md strong\" [disabled]=\"data.disabled\"\n (click)=\"saveSignModal($event)\">\n {{ 'ACTIONS.DONE' | translate }}\n </button>\n </div>\n</pep-dialog>","import {\n Component,\n OnInit,\n OnDestroy,\n ViewChild,\n Input,\n Output,\n EventEmitter,\n ChangeDetectorRef,\n ChangeDetectionStrategy,\n OnChanges,\n ElementRef,\n Renderer2,\n TemplateRef,\n} from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { SignaturePad } from 'ngx-signaturepad/signature-pad';\nimport {\n PepFileService,\n PepLayoutType,\n PepCustomizationService,\n PepHorizontalAlignment,\n DEFAULT_HORIZONTAL_ALIGNMENT,\n PepSignatureField,\n IPepFieldClickEvent,\n} from '@pepperi-addons/ngx-lib';\nimport { PepDialogService } from '@pepperi-addons/ngx-lib/dialog';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { PepSignatureDialogComponent } from './signature-dialog.component';\n\n@Component({\n selector: 'pep-signature',\n styleUrls: ['./signature.component.scss', './signature.component.theme.scss'],\n templateUrl: './signature.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PepSignatureComponent implements OnInit, OnChanges, OnDestroy {\n @Input() key = '';\n @Input() src = '';\n @Input() label = '';\n @Input() mandatory = false;\n @Input() disabled = false;\n @Input() readonly = false;\n @Input() xAlignment: PepHorizontalAlignment = DEFAULT_HORIZONTAL_ALIGNMENT;\n\n private _rowSpan = 1;\n @Input()\n set rowSpan(value) {\n this._rowSpan = value;\n this.setFieldHeight();\n }\n get rowSpan(): number {\n return this._rowSpan;\n }\n\n @Input() signatureURL = '';\n // @Input() inDialog = false;\n\n private _visible = true;\n @Input()\n set visible(visible: boolean) {\n this._visible = visible;\n if (visible) {\n this.renderer.removeClass(\n this.element.nativeElement,\n 'hidden-element'\n );\n } else {\n this.renderer.addClass(\n this.element.nativeElement,\n 'hidden-element'\n );\n }\n }\n get visible(): boolean {\n return this._visible;\n }\n\n controlType = 'signature';\n\n @Input() form: FormGroup = null;\n @Input() showTitle = true;\n @Input() renderTitle = true;\n\n private _layoutType: PepLayoutType = 'form';\n @Input()\n set layoutType(value: PepLayoutType) {\n this._layoutType = value;\n this.setFieldHeight();\n }\n get layoutType(): PepLayoutType {\n return this._layoutType;\n }\n\n @Input() isActive = false;\n\n // To know if handle actions or just raise them as output\n @Input() handleActions = true;\n\n @Output()\n chooseFile: EventEmitter<void> = new EventEmitter<void>(); // This event will fired only when handleActions Input is false\n \n @Output()\n fileChange: EventEmitter<any> = new EventEmitter<any>();\n\n @Output()\n elementClick: EventEmitter<IPepFieldClickEvent> = new EventEmitter<IPepFieldClickEvent>();\n \n // @ViewChild('signaturePad') signaturePad: SignaturePad;\n // @ViewChild('signaturePad', {static: true}) private signaturePad!: SignaturePad; \n\n // @ViewChild('signaturePopupPad', { read: TemplateRef }) signaturePopupPad: TemplateRef<any>;\n dialogRef: MatDialogRef<any>;\n\n fieldHeight = '';\n standAlone = false;\n dataURI = null;\n showActionBtn = true;\n\n // public isVisibleModal = false;\n // acceptSignatureType = 'png';\n\n // public signaturePadOptions: any = {\n // // passed through to szimek/signature_pad constructor\n // minWidth: 2,\n // canvasWidth: 500,\n // canvasHeight: 300,\n // penColor: 'rgb(151, 151, 151)',\n // };\n\n constructor(\n private dialogService: PepDialogService,\n private customizationService: PepCustomizationService,\n private fileService: PepFileService,\n private cd: ChangeDetectorRef,\n private renderer: Renderer2,\n private element: ElementRef\n ) { }\n\n private setFieldHeight(): void {\n this.fieldHeight = this.customizationService.calculateFieldHeight(\n this.layoutType,\n this.rowSpan,\n this.standAlone\n );\n }\n\n private setDefaultForm(): void {\n const pepField = new PepSignatureField({\n key: this.key,\n value: this.src,\n mandatory: this.mandatory,\n readonly: this.readonly,\n disabled: this.disabled,\n });\n this.form = this.customizationService.getDefaultFromGroup(pepField);\n }\n\n private openSignatoreDlg(src = ''): void {\n this.showActionBtn = this.signatureURL && this.signatureURL !== '' ? false : true;\n\n // this.dialogRef = this.dialogService.openDialog(this.signaturePopupPad);\n // this.dialogRef.afterOpened().subscribe(() => {\n // this.afterDialogOpened();\n // });\n \n this.dialogRef = this.dialogService.openDialog(\n PepSignatureDialogComponent,\n {\n value: this.signatureURL,\n showActionBtn: this.showActionBtn,\n disabled: this.disabled || this.readonly\n }\n );\n\n this.dialogRef.afterClosed().subscribe((value) => {\n if (value !== undefined && value !== null) {\n if (value !== '') {\n this.signatureURL = value.fileStr;\n this.changeValue(value);\n } else {\n this.signatureURL = '';\n this.changeValue(this.signatureURL);\n }\n }\n });\n }\n\n // private afterDialogOpened(): void {\n // if (this.signatureURL && this.signatureURL !== '') {\n // this.signaturePad.fromDataURL(this.signatureURL);\n // this.signaturePad.off();\n // }\n // }\n\n ngOnInit(): void {\n if (this.form === null) {\n this.standAlone = true;\n this.setFieldHeight();\n this.setDefaultForm();\n\n this.renderer.addClass(\n this.element.nativeElement,\n PepCustomizationService.STAND_ALONE_FIELD_CLASS_NAME\n );\n\n if (!this.renderTitle) {\n this.renderer.addClass(\n this.element.nativeElement,\n PepCustomizationService.STAND_ALONE_FIELD_NO_SPACING_CLASS_NAME\n );\n }\n }\n }\n\n ngOnChanges(changes: any): void {\n if (this.standAlone) {\n this.setDefaultForm();\n }\n\n if (changes.src && changes.src.currentValue?.length > 0) {\n // Empty dataURI if there is change in the src.\n this.dataURI = null;\n\n // For clean the cache.\n // this.src = this.src ? this.src + '?t=' + new Date().toTimeString() : '';\n }\n }\n\n ngOnDestroy(): void {\n //\n }\n\n // drawComplete(): void {\n // // will be notified of szimek/signature_pad's onEnd event\n // }\n\n // drawStart(): void {\n // // will be notified of szimek/signature_pad's onBegin event\n // }\n\n openSignModal(): void {\n if (this.handleActions) {\n // If the signature is not empty open it in image viewer.\n //! Remove this `if` to always open signature in modal \n if (this.standAlone && this.dataURI) {\n const fileStrArr = this.dataURI.fileStr.split(';');\n\n if (fileStrArr.length === 2) {\n const win = window.open('', '_blank');\n const contentType = fileStrArr[0].split(':')[1];\n const base64 = fileStrArr[1].split(',')[1];\n const blob = this.fileService.convertFromb64toBlob(\n base64,\n contentType\n );\n const url = URL.createObjectURL(blob);\n win.location.href = url;\n }\n // signature allready exits\n } else {\n this.signatureURL = this.src;\n this.openSignatoreDlg(this.signatureURL);\n }\n } else {\n if (this.src.length > 0) {\n this.elementClick.emit({\n key: this.key,\n value: this.signatureURL\n });\n } else {\n this.chooseFile.emit();\n }\n }\n }\n\n deleteSignature(event: any): void {\n this.signatureURL = '';\n this.changeValue(this.signatureURL);\n this.cd.detectChanges();\n }\n\n // clearSignModal(): void {\n // this.signatureURL = '';\n // this.signaturePad.clear();\n // this.signaturePad.on();\n // }\n\n // saveSignModal(event: any): void {\n // if (!this.signaturePad.isEmpty()) {\n // this.signatureURL = this.signaturePad.toDataURL('image/png');\n // const fileValue = {\n // acceptedExtensions: this.acceptSignatureType,\n // fileStr: this.signatureURL,\n // fileExt: this.acceptSignatureType,\n // };\n // this.changeValue(fileValue);\n // } else {\n // this.signatureURL = '';\n // this.changeValue(this.signatureURL);\n // }\n\n // this.dialogRef.close(this.signatureURL);\n // }\n \n // closeDialog(event) {\n // this.dialogRef.close(event);\n // }\n\n errorHandler(event: any): void {\n this.signatureURL = this.src = ''; // this.blankImage;\n }\n\n changeValue(fileData: any): void {\n if (this.handleActions) {\n this.dataURI = fileData;\n this.src = this.standAlone && this.dataURI ? this.dataURI.fileStr : '';\n this.customizationService.updateFormFieldValue(\n this.form,\n this.key,\n this.dataURI ? this.dataURI.fileExt : ''\n );\n }\n this.fileChange.emit(fileData);\n }\n\n onKeyPress_OpenSignModal(event: any): void {\n const e = event as KeyboardEvent;\n\n if ([13, 32].indexOf(e.which) !== -1) {\n this.openSignModal();\n }\n e.preventDefault();\n }\n}","<ng-container [formGroup]=\"form\">\n <ng-container>\n <ng-template #pepTemplate>\n <mat-form-field [formGroup]=\"form\" appearance=\"outline\">\n <div class=\"pep-file-wrapper\">\n <div class=\"pep-file body-sm\" [ngClass]=\"{ disable: disabled }\" [style.height]=\"fieldHeight\">\n <ng-container *ngIf=\"src != ''; then withImg; else noImg\"></ng-container>\n <ng-template #withImg>\n <button *ngIf=\"!disabled\" mat-button (click)=\"deleteSignature($event)\"\n class=\"pep-button icon-button weak md delete\" tabindex=\"-1\"\n [ngClass]=\"{ 'right-alignment': xAlignment == 'right' }\">\n <mat-icon>\n <pep-icon name=\"system_bin\"></pep-icon>\n </mat-icon>\n </button>\n <div class=\"pep-file-preview\" (click)=\"openSignModal()\">\n <img [src]=\"src\" [style.max-height]=\"fieldHeight\" class=\"pep-file-preview-img\"\n (error)=\"errorHandler($event)\" [alt]=\"label\"\n [ngClass]=\"['text-align-' + xAlignment]\" />\n </div>\n </ng-template>\n <ng-template #noImg>\n <div class=\"ellipsis pep-file-message\">\n <mat-icon class=\"pep-spacing-element\">\n <pep-icon name=\"system_signature\"></pep-icon>\n </mat-icon>\n <span class=\"body-sm ellipsis\">\n {{ (disabled ? 'MESSAGES.INFO_MISSING_SIGNATURE' : 'SIGNATURE.HINT') | translate }}\n </span>\n </div>\n </ng-template>\n </div>\n <input [id]=\"key\" matInput [formControlName]=\"key\" class=\"hidden-input signature\" type=\"text\"\n [value]=\"src\" (click)=\"openSignModal()\" (keypress)=\"onKeyPress_OpenSignModal($event)\"\n autocomplete=\"off\" readonly />\n </div>\n\n <mat-error><span class=\"body-xs\"\n [title]=\"mandatory && src.length == 0 ? ('MESSAGES.ERROR_IS_REQUIRED' | translate: { field: label }) : ('MESSAGES.ERROR_IS_NOT_VALID' | translate: { field: label })\"\n [innerText]=\"mandatory && src.length == 0 ? ('MESSAGES.ERROR_IS_REQUIRED' | translate: { field: label }) : ('MESSAGES.ERROR_IS_NOT_VALID' | translate: { field: label })\"></span>\n </mat-error>\n </mat-form-field>\n </ng-template>\n\n <ng-container *ngIf=\"layoutType === 'form'\">\n <div class=\"pep-file-container\" [ngClass]=\"{ 'one-row': rowSpan == 1, 'stand-alone': standAlone}\">\n <pep-field-title *ngIf=\"renderTitle\" [label]=\"label\" [mandatory]=\"mandatory\" [disabled]=\"disabled\"\n [xAlignment]=\"xAlignment\" [showTitle]=\"showTitle\">\n </pep-field-title>\n <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"layoutType === 'card'\">\n <ng-container *ngIf=\"false && isActive && !disabled; then selectedBlock; else notSelectedBlock\">\n </ng-container>\n <ng-template #selectedBlock>\n <div class=\"pep-file-container\" [ngClass]=\"{ 'one-row': rowSpan == 1}\">\n <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\n </div>\n </ng-template>\n <ng-template #notSelectedBlock>\n <div class=\"pep-file-container\" [ngClass]=\"{ 'one-row': rowSpan == 1 }\">\n <ng-container *ngTemplateOutlet=\"pepReadonlyTemplate; context: { isTableView: false}\">\n </ng-container>\n </div>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"layoutType === 'table'\">\n <ng-container *ngIf=\"false && isActive && !disabled; then selectedBlock; else notSelectedBlock\">\n </ng-container>\n <ng-template #selectedBlock>\n <div class=\"pep-file-container one-row\">\n <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\n </div>\n </ng-template>\n <ng-template #notSelectedBlock>\n <div class=\"pep-file-container one-row\">\n <ng-container *ngTemplateOutlet=\"pepReadonlyTemplate; context: { isTableView: true}\">\n </ng-container>\n </div>\n </ng-template>\n </ng-container>\n </ng-container>\n\n <!-- <ng-container *ngIf=\"inDialog === true\">\n <ng-container *ngTemplateOutlet=\"signaturePopupPad\"></ng-container>\n </ng-container> -->\n\n <!-- <div *ngIf=\"inDialog === false\" class=\"signature-backdrop modal\" [ngClass]=\"{ fade: !isVisibleModal }\" tabindex=\"-1\"\n role=\"dialog\" aria-labelledby=\"gridModalLabel\" aria-hidden=\"true\"\n [ngStyle]=\"{ display: isVisibleModal ? 'block' : 'none' }\">\n <div class=\"signature-modal modal-dialog\" role=\"document\">\n <div class=\"modal-content\">\n <ng-container *ngTemplateOutlet=\"signaturePopupPad\"></ng-container>\n </div>\n </div>\n </div> -->\n\n <ng-template #pepReadonlyTemplate let-isTableView=\"isTableView\">\n <div class=\"pep-file-container\">\n <div class=\"pep-file-wrapper\">\n <div class=\"pep-file body-sm disable\">\n <ng-container *ngIf=\"src != ''; then withImg; else noImg\"></ng-container>\n <ng-template #withImg>\n <div class=\"pep-file-preview\" (click)=\"openSignModal()\">\n <img *ngIf=\"!isTableView\" [src]=\"src\" [style.max-height]=\"fieldHeight\"\n class=\"pep-file-preview-img\" (error)=\"errorHandler($event)\" [alt]=\"label\"\n [ngClass]=\"['text-align-' + xAlignment]\" />\n <img *ngIf=\"isTableView\" [src]=\"src\" [style.max-height]=\"fieldHeight\"\n class=\"pep-report-file pep-file-preview-img\" (error)=\"errorHandler($event)\"\n [alt]=\"label\" [ngClass]=\"['text-align-' + xAlignment]\" />\n </div>\n </ng-template>\n <ng-template #noImg></ng-template>\n </div>\n </div>\n </div>\n </ng-template>\n\n <!-- <ng-template #signaturePopupPad>\n <pep-dialog [title]=\"'SIGNATURE.DIALOG_TITLE' | translate\" [showFooter]=\"showActionBtn\" [showClose]=\"true\" (close)=\"closeDialog($event)\">\n <ng-container pep-dialog-content>\n <signature-pad #signaturePad [options]=\"signaturePadOptions\" (onBeginEvent)=\"drawStart()\"\n (onEndEvent)=\"drawComplete()\">\n </signature-pad>\n </ng-container>\n <div pep-dialog-actions class=\"pep-spacing-element-negative\">\n <button mat-button class=\"pep-spacing-element pep-button md weak\" [disabled]=\"readonly || disabled\"\n (click)=\"clearSignModal()\">\n {{ 'ACTIONS.CLEAR' | translate }}\n </button>\n <button mat-button class=\"pep-spacing-element pep-button md strong\" [disabled]=\"readonly || disabled\"\n (click)=\"saveSignModal($event)\">\n {{ 'ACTIONS.DONE' | translate }}\n </button>\n </div>\n </pep-dialog>\n </ng-template> -->\n\n</ng-container>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { MatCommonModule } from '@angular/material/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatDialogModule } from '@angular/material/dialog';\n\nimport { SignaturePadModule } from 'ngx-signaturepad';\n\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport {\n PepIconModule,\n PepIconRegistry,\n pepIconSystemBin,\n pepIconSystemSignature,\n pepIconSystemClose,\n} from '@pepperi-addons/ngx-lib/icon';\nimport { PepFieldTitleModule } from '@pepperi-addons/ngx-lib/field-title';\nimport { PepFilesUploaderModule } from '@pepperi-addons/ngx-lib/files-uploader';\nimport { PepDialogModule } from '@pepperi-addons/ngx-lib/dialog';\n\nimport { PepSignatureComponent } from './signature.component';\nimport { PepSignatureDialogComponent } from './signature-dialog.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n // Material modules\n MatCommonModule,\n MatButtonModule,\n MatFormFieldModule,\n MatInputModule,\n MatIconModule,\n MatDialogModule,\n // External modules\n SignaturePadModule,\n // ngx-lib modules\n PepNgxLibModule,\n PepIconModule,\n PepFieldTitleModule,\n PepFilesUploaderModule,\n PepDialogModule,\n ],\n exports: [PepSignatureComponent, PepSignatureDialogComponent],\n declarations: [PepSignatureComponent, PepSignatureDialogComponent],\n})\nexport class PepSignatureModule {\n constructor(private pepIconRegistry: PepIconRegistry) {\n this.pepIconRegistry.registerIcons([\n pepIconSystemBin,\n pepIconSystemSignature,\n pepIconSystemClose,\n ]);\n }\n}\n","/*\n * Public API Surface of ngx-lib/signature\n */\nexport * from './signature.module';\nexport * from './signature.component';\nexport * from './signature-dialog.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i4","i1","i2","i3","i5","i9","i11"],"mappings":"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"}
|
|
@@ -16,7 +16,7 @@ import { MatIconModule } from '@angular/material/icon';
|
|
|
16
16
|
import * as i10 from 'ng2-file-upload';
|
|
17
17
|
import { FileUploader, FileUploadModule } from 'ng2-file-upload';
|
|
18
18
|
import * as i2 from '@pepperi-addons/ngx-lib';
|
|
19
|
-
import { DEFAULT_HORIZONTAL_ALIGNMENT, PepNgxLibModule } from '@pepperi-addons/ngx-lib';
|
|
19
|
+
import { DEFAULT_HORIZONTAL_ALIGNMENT, PepFieldBase, PepNgxLibModule } from '@pepperi-addons/ngx-lib';
|
|
20
20
|
import * as i1$1 from '@pepperi-addons/ngx-lib/icon';
|
|
21
21
|
import { pepIconNoImage2, pepIconSystemBin, pepIconSystemAttach, pepIconSystemFileUploadCloud, pepIconSystemProcessing, PepIconModule } from '@pepperi-addons/ngx-lib/icon';
|
|
22
22
|
import * as i1 from '@pepperi-addons/ngx-lib/dialog';
|
|
@@ -102,7 +102,19 @@ class PepFilesUploaderComponent {
|
|
|
102
102
|
const extension = filename.substring(filename.lastIndexOf('.') + 1, filename.length);
|
|
103
103
|
return extension;
|
|
104
104
|
}
|
|
105
|
+
setDefaultForm() {
|
|
106
|
+
const pepField = new PepFieldBase({
|
|
107
|
+
key: this.key,
|
|
108
|
+
value: this.src,
|
|
109
|
+
mandatory: this.mandatory,
|
|
110
|
+
disabled: this.disabled,
|
|
111
|
+
});
|
|
112
|
+
this.form = this.customizationService.getDefaultFromGroup(pepField);
|
|
113
|
+
}
|
|
105
114
|
ngOnInit() {
|
|
115
|
+
if (this.form === null) {
|
|
116
|
+
this.setDefaultForm();
|
|
117
|
+
}
|
|
106
118
|
/*this.uploader.onCompleteAll = () => {
|
|
107
119
|
this.fileInput.nativeElement.value = '';
|
|
108
120
|
}*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pepperi-addons-ngx-lib-files-uploader.mjs","sources":["../../../projects/ngx-lib/files-uploader/files-uploader.component.ts","../../../projects/ngx-lib/files-uploader/files-uploader.component.html","../../../projects/ngx-lib/files-uploader/files-uploader.module.ts","../../../projects/ngx-lib/files-uploader/public-api.ts","../../../projects/ngx-lib/files-uploader/pepperi-addons-ngx-lib-files-uploader.ts"],"sourcesContent":["import { Observable } from 'rxjs';\nimport {\n Component,\n OnInit,\n Injectable,\n Input,\n Output,\n EventEmitter,\n ViewChild,\n ChangeDetectorRef,\n ChangeDetectionStrategy,\n Optional,\n} from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { FileUploader } from 'ng2-file-upload';\nimport { FormGroup } from '@angular/forms';\nimport {\n PepFileService,\n PepLayoutType,\n PepCustomizationService,\n PepHorizontalAlignment,\n DEFAULT_HORIZONTAL_ALIGNMENT,\n IPepFieldClickEvent,\n} from '@pepperi-addons/ngx-lib';\nimport {\n PepDialogService,\n PepDialogData,\n} from '@pepperi-addons/ngx-lib/dialog';\nimport { pepIconNoImage2 } from '@pepperi-addons/ngx-lib/icon';\n\nexport interface IPepFileChangeEvent {\n acceptedExtensions?: string;\n fileStr?: string;\n fileName?: string;\n fileExt?: string;\n}\n\n@Component({\n selector: 'pep-files-uploader',\n templateUrl: './files-uploader.component.html',\n styleUrls: ['./files-uploader.component.scss', './files-uploader.component.theme.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\n@Injectable()\nexport class PepFilesUploaderComponent implements OnInit {\n @Input() key = '';\n @Input() src = '';\n @Input() label = '';\n @Input() mandatory = false;\n @Input() disabled = false;\n @Input() xAlignment: PepHorizontalAlignment = DEFAULT_HORIZONTAL_ALIGNMENT;\n\n private _rowSpan = 1;\n @Input()\n set rowSpan(value) {\n this._rowSpan = value;\n }\n get rowSpan(): number {\n return this._rowSpan;\n }\n\n @Input() controlType = '';\n @Input() sizeLimitMB = 5;\n\n @Input() form: FormGroup;\n @Input() acceptedExtensions = 'bmp,jpg,jpeg,png,gif,ico,svg,html,css';\n @Input() layoutType: PepLayoutType = 'form';\n\n @Input() fieldHeight = '';\n \n // To know if handle actions or just raise them as output\n @Input() handleActions = true;\n \n @Output()\n chooseFile: EventEmitter<void> = new EventEmitter<void>(); // This event will fired only when handleActions Input is false\n \n @Output()\n fileChange: EventEmitter<IPepFileChangeEvent> = new EventEmitter<IPepFileChangeEvent>();\n @Output()\n elementClick: EventEmitter<IPepFieldClickEvent> = new EventEmitter<IPepFieldClickEvent>();\n\n @ViewChild('fileInput') fileInput: any;\n @ViewChild('imagePreview') imagePreview: any;\n\n // multiple = false;\n uploader: FileUploader;\n progress = 0;\n // response: string;\n intervalID: any = null;\n\n constructor(\n private dialogService: PepDialogService,\n private customizationService: PepCustomizationService,\n private fileService: PepFileService,\n private translate: TranslateService\n ) {\n this.uploader = new FileUploader({ removeAfterUpload: true });\n\n this.uploader.onAfterAddingFile = (item) => {\n if (this.fileInput?.nativeElement) {\n this.fileInput.nativeElement.value = '';\n }\n const reader = new FileReader();\n\n reader.onload = (event: any) => {\n // fix for DI-19376 - when there is a dot on the file name (not include the extantion one)\n //const fileNameArray = item._file.name.split('.');\n const fileName = this.getFileName(item._file.name); //fileNameArray[0];\n const fileExt = this.getFileExtension(item._file.name); //fileNameArray[1]; // item._file.name.split('.').pop();\n const target = event.target || event.srcElement;\n const fileStr = target.result;\n const errorMsg = this.isValidFile(\n fileStr,\n fileExt,\n this.acceptedExtensions,\n this.sizeLimitMB\n );\n if (errorMsg === '') {\n this.src = fileStr;\n // this.setIntervalX(25, 75);\n // this.setProgress(5);\n this.fileChange.emit({\n acceptedExtensions: this.acceptedExtensions,\n fileStr,\n fileName,\n fileExt,\n });\n } else {\n const title = this.translate.instant(\n 'MESSAGES.TITLE_NOTICE'\n );\n const data = new PepDialogData({\n title,\n content: errorMsg,\n });\n this.dialogService.openDefaultDialog(data);\n }\n };\n reader.readAsDataURL(item._file);\n\n \n };\n }\n\n getFileName(filename){\n // get file name\n const fileName = filename.substring(0,filename.lastIndexOf('.'));\n return fileName;\n }\n\n getFileExtension(filename){\n // get file extension\n const extension = filename.substring(filename.lastIndexOf('.') + 1, filename.length);\n return extension;\n }\n ngOnInit(): void {\n /*this.uploader.onCompleteAll = () => {\n this.fileInput.nativeElement.value = '';\n }*/\n }\n\n isValidFile(\n fileStr,\n fileExtension,\n acceptedExtensions,\n sizeLimitMB = 5\n ): string {\n const file: any = fileStr;\n let fileSize = 0;\n let content = '';\n // check if got file as Base64\n if (typeof fileStr === 'string' && fileStr.indexOf('data:') > -1) {\n fileSize = this.getBase64FileSize(fileStr);\n } else {\n fileSize = file.size;\n }\n // check the size and the extension\n const sizeOK: boolean =\n fileSize !== -1 && file != null && fileSize < sizeLimitMB * 1048576;\n const extensionOK =\n acceptedExtensions === '' ||\n acceptedExtensions.indexOf(fileExtension.toLowerCase()) !== -1;\n if (!extensionOK) {\n content = this.translate.instant(\n 'MESSAGES.ERROR_FAILD_TO_LOAD_EXTENSION',\n {\n fileExtension:\n \"<label class='uppercase bold'>\" +\n fileExtension +\n '</label>',\n }\n );\n } else if (!sizeOK) {\n content = this.translate.instant(\n 'MESSAGES.ERROR_FAILD_TO_LOAD_SIZE',\n {\n fileSize:\n \"<label class='uppercase bold'>\" +\n sizeLimitMB.toString() +\n '</label>',\n }\n );\n }\n return content;\n }\n\n getBase64FileSize(base64String: string): number {\n let fileSize: number;\n\n try {\n base64String = base64String.substr(base64String.indexOf(',') + 1);\n fileSize = atob(base64String).length;\n } catch (e) {\n fileSize = -1;\n }\n\n return fileSize; // return size in bytes;\n }\n\n // setIntervalX(delay, repetitions): void {\n // let x = 0;\n // this.intervalID = window.setInterval(() => {\n // // this.setProgress(this.progress + 5);\n // if (++x === repetitions || this.uploader.progress >= 100) {\n // window.clearInterval(this.intervalID);\n // }\n // }, delay);\n // }\n\n errorHandler(event): void {\n event.target.src = this.fileService.getSvgAsImageSrc(\n pepIconNoImage2.data\n );\n event.target.title = this.translate.instant('IMAGE.NO_IMAGE');\n }\n\n private setProgress(progress): void {\n this.progress = progress;\n this.uploader.progress = progress;\n }\n\n deleteFile(): void {\n this.uploader.clearQueue();\n window.clearInterval(this.intervalID);\n this.setProgress(0);\n\n const empltValue = '';\n this.src = empltValue;\n\n this.fileChange.emit(null);\n\n // this.fileChange.emit({\n // acceptedExtensions: this.acceptedExtensions,\n // fileStr: null,\n // fileExt: null,\n // });\n }\n\n onElementClicked(event): void {\n this.elementClick.emit({\n key: this.key,\n controlType: this.controlType,\n eventWhich: event.which,\n });\n }\n\n onClick_ChooseFile(event): void {\n if (this.handleActions) {\n if (this.fileInput?.nativeElement) {\n this.fileInput.nativeElement.click();\n }\n } else {\n this.chooseFile.emit();\n }\n }\n\n onKeyPress_ChooseFile(event): void {\n if (this.handleActions) {\n const e = event as KeyboardEvent;\n\n if ([13, 32].indexOf(e.which) !== -1) {\n if (this.fileInput?.nativeElement) {\n this.fileInput.nativeElement.click();\n }\n }\n e.preventDefault();\n } else {\n this.chooseFile.emit();\n }\n }\n}\n","<ng-template #pepTemplate>\n <mat-form-field [formGroup]=\"form\" appearance=\"outline\">\n <div class=\"pep-file-wrapper\">\n <div class=\"pep-file body-sm\" [style.height]=\"fieldHeight\" [ngClass]=\"{\n 'one-row': rowSpan == 1,\n disable: disabled\n }\">\n <ng-container *ngIf=\"src != ''; then withImg; else noImg\"></ng-container>\n <ng-template #withImg>\n <button *ngIf=\"!disabled\" mat-button (click)=\"deleteFile()\"\n class=\"pep-button icon-button weak md delete\" tabindex=\"-1\"\n [ngClass]=\"{ 'right-alignment': xAlignment == 'right' }\">\n <mat-icon>\n <pep-icon name=\"system_bin\"></pep-icon>\n </mat-icon>\n </button>\n <div class=\"pep-file-preview\" (click)=\"onElementClicked($event)\">\n <img *ngIf=\"controlType === 'image'\" #imagePreview [src]=\"src\" class=\"pep-file-preview-img\"\n [style.max-height]=\"fieldHeight\" (error)=\"errorHandler($event)\" [alt]=\"label\"\n [ngClass]=\"['text-align-' + xAlignment]\" />\n <div *ngIf=\"controlType === 'attachment'\" class=\"ellipsis pep-file-message\">\n <a *ngIf=\"src != ''\" href=\"javascript:void(0)\">\n <mat-icon class=\"pep-spacing-element\">\n <pep-icon name=\"system_attach\"></pep-icon>\n </mat-icon>\n <span class=\"body-sm ellipsis\">{{ 'FILE.SEE_ORIGINAL' | translate }}</span>\n </a>\n </div>\n </div>\n </ng-template>\n <ng-template #noImg>\n <div class=\"ellipsis pep-file-message\">\n <mat-icon *ngIf=\"controlType === 'attachment'\" class=\"pep-spacing-element\">\n <pep-icon name=\"system_attach\"></pep-icon>\n </mat-icon>\n <mat-icon *ngIf=\"controlType === 'image'\" class=\"pep-spacing-element\">\n <pep-icon name=\"system_file_upload_cloud\"></pep-icon>\n </mat-icon>\n <span class=\"body-sm ellipsis\" *ngIf=\"progress == 0\">\n {{ (disabled ? (controlType === 'image' ? 'MESSAGES.INFO_MISSING_IMAGE' :\n 'MESSAGES.INFO_MISSING_FILE') : 'FILE.HINT') | translate }}\n </span>\n <!-- <p *ngIf=\"progress != 0\" class=\"pull-left flip\"\n [ngClass]=\"{ 'pull-left flip': rowSpan == 1, image: controlType == 'image', attachment: controlType == 'attachment' }\">\n {{ 'FILE.UPLOADING_FILE' | translate }}\n </p> -->\n </div>\n <ng-container *ngIf=\"!disabled\">\n <input *ngIf=\"handleActions\" #fileInput id=\"pep-file-{{ key }}\" tabindex=\"-1\" type=\"file\" accept=\"acceptedExtensions\"\n ng2FileSelect [uploader]=\"uploader\" autocomplete=\"off\" />\n \n <button *ngIf=\"progress != 0\" mat-button class=\"pep-button icon-button weak md delete\"\n [ngClass]=\"{ 'right-alignment': xAlignment == 'right' }\">\n <mat-icon>\n <pep-icon name=\"system_processing\" [spin]=\"true\">\n </pep-icon>\n </mat-icon>\n </button>\n </ng-container>\n </ng-template>\n </div>\n <input [id]=\"key\" matInput [name]=\"key\" [formControlName]=\"key\" class=\"hidden-input\" type=\"text\"\n [value]=\"src\" (click)=\"onClick_ChooseFile($event)\" (keypress)=\"onKeyPress_ChooseFile($event)\"\n autocomplete=\"off\" />\n </div>\n\n <mat-error><span class=\"body-xs\"\n [title]=\"mandatory && src.length == 0 ? ('MESSAGES.ERROR_IS_REQUIRED' | translate: { field: label }) : ('MESSAGES.ERROR_IS_NOT_VALID' | translate: { field: label })\"\n [innerText]=\"mandatory && src.length == 0 ? ('MESSAGES.ERROR_IS_REQUIRED' | translate: { field: label }) : ('MESSAGES.ERROR_IS_NOT_VALID' | translate: { field: label })\"></span>\n </mat-error>\n </mat-form-field>\n</ng-template>\n\n<ng-container *ngIf=\"layoutType === 'form'\">\n <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\n</ng-container>\n\n<ng-container *ngIf=\"layoutType === 'card'\">\n <!-- <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container> -->\n</ng-container>\n\n<ng-container *ngIf=\"layoutType === 'table'\">\n <!-- <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container> -->\n</ng-container>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { MatCommonModule } from '@angular/material/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { FileUploadModule } from 'ng2-file-upload';\n\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport {\n PepIconModule,\n PepIconRegistry,\n pepIconSystemBin,\n pepIconSystemAttach,\n pepIconSystemFileUploadCloud,\n pepIconSystemProcessing,\n} from '@pepperi-addons/ngx-lib/icon';\nimport { PepDialogModule } from '@pepperi-addons/ngx-lib/dialog';\n\nimport { PepFilesUploaderComponent } from './files-uploader.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n // Material modules,\n MatCommonModule,\n MatButtonModule,\n MatFormFieldModule,\n MatInputModule,\n MatIconModule,\n // External modules\n FileUploadModule,\n // ngx-lib modules\n PepNgxLibModule,\n PepIconModule,\n PepDialogModule,\n ],\n exports: [PepFilesUploaderComponent],\n declarations: [PepFilesUploaderComponent],\n})\nexport class PepFilesUploaderModule {\n constructor(private pepIconRegistry: PepIconRegistry) {\n this.pepIconRegistry.registerIcons([\n pepIconSystemBin,\n pepIconSystemAttach,\n pepIconSystemFileUploadCloud,\n pepIconSystemProcessing,\n ]);\n }\n}\n","/*\n * Public API Surface of ngx-lib/files-uploader\n */\nexport * from './files-uploader.module';\nexport * from './files-uploader.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i11","i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pepperi-addons-ngx-lib-files-uploader.mjs","sources":["../../../projects/ngx-lib/files-uploader/files-uploader.component.ts","../../../projects/ngx-lib/files-uploader/files-uploader.component.html","../../../projects/ngx-lib/files-uploader/files-uploader.module.ts","../../../projects/ngx-lib/files-uploader/public-api.ts","../../../projects/ngx-lib/files-uploader/pepperi-addons-ngx-lib-files-uploader.ts"],"sourcesContent":["import { Observable } from 'rxjs';\nimport {\n Component,\n OnInit,\n Injectable,\n Input,\n Output,\n EventEmitter,\n ViewChild,\n ChangeDetectorRef,\n ChangeDetectionStrategy,\n Optional,\n} from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { FileUploader } from 'ng2-file-upload';\nimport { FormGroup } from '@angular/forms';\nimport {\n PepFileService,\n PepLayoutType,\n PepCustomizationService,\n PepHorizontalAlignment,\n DEFAULT_HORIZONTAL_ALIGNMENT,\n IPepFieldClickEvent,\n PepFieldBase,\n} from '@pepperi-addons/ngx-lib';\nimport {\n PepDialogService,\n PepDialogData,\n} from '@pepperi-addons/ngx-lib/dialog';\nimport { pepIconNoImage2 } from '@pepperi-addons/ngx-lib/icon';\n\nexport interface IPepFileChangeEvent {\n acceptedExtensions?: string;\n fileStr?: string;\n fileName?: string;\n fileExt?: string;\n}\n\n@Component({\n selector: 'pep-files-uploader',\n templateUrl: './files-uploader.component.html',\n styleUrls: ['./files-uploader.component.scss', './files-uploader.component.theme.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\n@Injectable()\nexport class PepFilesUploaderComponent implements OnInit {\n @Input() key = '';\n @Input() src = '';\n @Input() label = '';\n @Input() mandatory = false;\n @Input() disabled = false;\n @Input() xAlignment: PepHorizontalAlignment = DEFAULT_HORIZONTAL_ALIGNMENT;\n\n private _rowSpan = 1;\n @Input()\n set rowSpan(value) {\n this._rowSpan = value;\n }\n get rowSpan(): number {\n return this._rowSpan;\n }\n\n @Input() controlType = '';\n @Input() sizeLimitMB = 5;\n\n @Input() form: FormGroup;\n @Input() acceptedExtensions = 'bmp,jpg,jpeg,png,gif,ico,svg,html,css';\n @Input() layoutType: PepLayoutType = 'form';\n\n @Input() fieldHeight = '';\n \n // To know if handle actions or just raise them as output\n @Input() handleActions = true;\n \n @Output()\n chooseFile: EventEmitter<void> = new EventEmitter<void>(); // This event will fired only when handleActions Input is false\n \n @Output()\n fileChange: EventEmitter<IPepFileChangeEvent> = new EventEmitter<IPepFileChangeEvent>();\n @Output()\n elementClick: EventEmitter<IPepFieldClickEvent> = new EventEmitter<IPepFieldClickEvent>();\n\n @ViewChild('fileInput') fileInput: any;\n @ViewChild('imagePreview') imagePreview: any;\n\n // multiple = false;\n uploader: FileUploader;\n progress = 0;\n // response: string;\n intervalID: any = null;\n\n constructor(\n private dialogService: PepDialogService,\n private customizationService: PepCustomizationService,\n private fileService: PepFileService,\n private translate: TranslateService\n ) {\n this.uploader = new FileUploader({ removeAfterUpload: true });\n\n this.uploader.onAfterAddingFile = (item) => {\n if (this.fileInput?.nativeElement) {\n this.fileInput.nativeElement.value = '';\n }\n const reader = new FileReader();\n\n reader.onload = (event: any) => {\n // fix for DI-19376 - when there is a dot on the file name (not include the extantion one)\n //const fileNameArray = item._file.name.split('.');\n const fileName = this.getFileName(item._file.name); //fileNameArray[0];\n const fileExt = this.getFileExtension(item._file.name); //fileNameArray[1]; // item._file.name.split('.').pop();\n const target = event.target || event.srcElement;\n const fileStr = target.result;\n const errorMsg = this.isValidFile(\n fileStr,\n fileExt,\n this.acceptedExtensions,\n this.sizeLimitMB\n );\n if (errorMsg === '') {\n this.src = fileStr;\n // this.setIntervalX(25, 75);\n // this.setProgress(5);\n this.fileChange.emit({\n acceptedExtensions: this.acceptedExtensions,\n fileStr,\n fileName,\n fileExt,\n });\n } else {\n const title = this.translate.instant(\n 'MESSAGES.TITLE_NOTICE'\n );\n const data = new PepDialogData({\n title,\n content: errorMsg,\n });\n this.dialogService.openDefaultDialog(data);\n }\n };\n reader.readAsDataURL(item._file);\n\n \n };\n }\n\n getFileName(filename){\n // get file name\n const fileName = filename.substring(0,filename.lastIndexOf('.'));\n return fileName;\n }\n\n getFileExtension(filename){\n // get file extension\n const extension = filename.substring(filename.lastIndexOf('.') + 1, filename.length);\n return extension;\n }\n \n private setDefaultForm(): void {\n const pepField = new PepFieldBase({\n key: this.key,\n value: this.src,\n mandatory: this.mandatory,\n disabled: this.disabled,\n });\n this.form = this.customizationService.getDefaultFromGroup(pepField);\n }\n\n ngOnInit(): void {\n if (this.form === null) {\n this.setDefaultForm();\n }\n /*this.uploader.onCompleteAll = () => {\n this.fileInput.nativeElement.value = '';\n }*/\n }\n\n isValidFile(\n fileStr,\n fileExtension,\n acceptedExtensions,\n sizeLimitMB = 5\n ): string {\n const file: any = fileStr;\n let fileSize = 0;\n let content = '';\n // check if got file as Base64\n if (typeof fileStr === 'string' && fileStr.indexOf('data:') > -1) {\n fileSize = this.getBase64FileSize(fileStr);\n } else {\n fileSize = file.size;\n }\n // check the size and the extension\n const sizeOK: boolean =\n fileSize !== -1 && file != null && fileSize < sizeLimitMB * 1048576;\n const extensionOK =\n acceptedExtensions === '' ||\n acceptedExtensions.indexOf(fileExtension.toLowerCase()) !== -1;\n if (!extensionOK) {\n content = this.translate.instant(\n 'MESSAGES.ERROR_FAILD_TO_LOAD_EXTENSION',\n {\n fileExtension:\n \"<label class='uppercase bold'>\" +\n fileExtension +\n '</label>',\n }\n );\n } else if (!sizeOK) {\n content = this.translate.instant(\n 'MESSAGES.ERROR_FAILD_TO_LOAD_SIZE',\n {\n fileSize:\n \"<label class='uppercase bold'>\" +\n sizeLimitMB.toString() +\n '</label>',\n }\n );\n }\n return content;\n }\n\n getBase64FileSize(base64String: string): number {\n let fileSize: number;\n\n try {\n base64String = base64String.substr(base64String.indexOf(',') + 1);\n fileSize = atob(base64String).length;\n } catch (e) {\n fileSize = -1;\n }\n\n return fileSize; // return size in bytes;\n }\n\n // setIntervalX(delay, repetitions): void {\n // let x = 0;\n // this.intervalID = window.setInterval(() => {\n // // this.setProgress(this.progress + 5);\n // if (++x === repetitions || this.uploader.progress >= 100) {\n // window.clearInterval(this.intervalID);\n // }\n // }, delay);\n // }\n\n errorHandler(event): void {\n event.target.src = this.fileService.getSvgAsImageSrc(\n pepIconNoImage2.data\n );\n event.target.title = this.translate.instant('IMAGE.NO_IMAGE');\n }\n\n private setProgress(progress): void {\n this.progress = progress;\n this.uploader.progress = progress;\n }\n\n deleteFile(): void {\n this.uploader.clearQueue();\n window.clearInterval(this.intervalID);\n this.setProgress(0);\n\n const empltValue = '';\n this.src = empltValue;\n\n this.fileChange.emit(null);\n\n // this.fileChange.emit({\n // acceptedExtensions: this.acceptedExtensions,\n // fileStr: null,\n // fileExt: null,\n // });\n }\n\n onElementClicked(event): void {\n this.elementClick.emit({\n key: this.key,\n controlType: this.controlType,\n eventWhich: event.which,\n });\n }\n\n onClick_ChooseFile(event): void {\n if (this.handleActions) {\n if (this.fileInput?.nativeElement) {\n this.fileInput.nativeElement.click();\n }\n } else {\n this.chooseFile.emit();\n }\n }\n\n onKeyPress_ChooseFile(event): void {\n if (this.handleActions) {\n const e = event as KeyboardEvent;\n\n if ([13, 32].indexOf(e.which) !== -1) {\n if (this.fileInput?.nativeElement) {\n this.fileInput.nativeElement.click();\n }\n }\n e.preventDefault();\n } else {\n this.chooseFile.emit();\n }\n }\n}\n","<ng-template #pepTemplate>\n <mat-form-field [formGroup]=\"form\" appearance=\"outline\">\n <div class=\"pep-file-wrapper\">\n <div class=\"pep-file body-sm\" [style.height]=\"fieldHeight\" [ngClass]=\"{\n 'one-row': rowSpan == 1,\n disable: disabled\n }\">\n <ng-container *ngIf=\"src != ''; then withImg; else noImg\"></ng-container>\n <ng-template #withImg>\n <button *ngIf=\"!disabled\" mat-button (click)=\"deleteFile()\"\n class=\"pep-button icon-button weak md delete\" tabindex=\"-1\"\n [ngClass]=\"{ 'right-alignment': xAlignment == 'right' }\">\n <mat-icon>\n <pep-icon name=\"system_bin\"></pep-icon>\n </mat-icon>\n </button>\n <div class=\"pep-file-preview\" (click)=\"onElementClicked($event)\">\n <img *ngIf=\"controlType === 'image'\" #imagePreview [src]=\"src\" class=\"pep-file-preview-img\"\n [style.max-height]=\"fieldHeight\" (error)=\"errorHandler($event)\" [alt]=\"label\"\n [ngClass]=\"['text-align-' + xAlignment]\" />\n <div *ngIf=\"controlType === 'attachment'\" class=\"ellipsis pep-file-message\">\n <a *ngIf=\"src != ''\" href=\"javascript:void(0)\">\n <mat-icon class=\"pep-spacing-element\">\n <pep-icon name=\"system_attach\"></pep-icon>\n </mat-icon>\n <span class=\"body-sm ellipsis\">{{ 'FILE.SEE_ORIGINAL' | translate }}</span>\n </a>\n </div>\n </div>\n </ng-template>\n <ng-template #noImg>\n <div class=\"ellipsis pep-file-message\">\n <mat-icon *ngIf=\"controlType === 'attachment'\" class=\"pep-spacing-element\">\n <pep-icon name=\"system_attach\"></pep-icon>\n </mat-icon>\n <mat-icon *ngIf=\"controlType === 'image'\" class=\"pep-spacing-element\">\n <pep-icon name=\"system_file_upload_cloud\"></pep-icon>\n </mat-icon>\n <span class=\"body-sm ellipsis\" *ngIf=\"progress == 0\">\n {{ (disabled ? (controlType === 'image' ? 'MESSAGES.INFO_MISSING_IMAGE' :\n 'MESSAGES.INFO_MISSING_FILE') : 'FILE.HINT') | translate }}\n </span>\n <!-- <p *ngIf=\"progress != 0\" class=\"pull-left flip\"\n [ngClass]=\"{ 'pull-left flip': rowSpan == 1, image: controlType == 'image', attachment: controlType == 'attachment' }\">\n {{ 'FILE.UPLOADING_FILE' | translate }}\n </p> -->\n </div>\n <ng-container *ngIf=\"!disabled\">\n <input *ngIf=\"handleActions\" #fileInput id=\"pep-file-{{ key }}\" tabindex=\"-1\" type=\"file\" accept=\"acceptedExtensions\"\n ng2FileSelect [uploader]=\"uploader\" autocomplete=\"off\" />\n \n <button *ngIf=\"progress != 0\" mat-button class=\"pep-button icon-button weak md delete\"\n [ngClass]=\"{ 'right-alignment': xAlignment == 'right' }\">\n <mat-icon>\n <pep-icon name=\"system_processing\" [spin]=\"true\">\n </pep-icon>\n </mat-icon>\n </button>\n </ng-container>\n </ng-template>\n </div>\n <input [id]=\"key\" matInput [name]=\"key\" [formControlName]=\"key\" class=\"hidden-input\" type=\"text\"\n [value]=\"src\" (click)=\"onClick_ChooseFile($event)\" (keypress)=\"onKeyPress_ChooseFile($event)\"\n autocomplete=\"off\" />\n </div>\n\n <mat-error><span class=\"body-xs\"\n [title]=\"mandatory && src.length == 0 ? ('MESSAGES.ERROR_IS_REQUIRED' | translate: { field: label }) : ('MESSAGES.ERROR_IS_NOT_VALID' | translate: { field: label })\"\n [innerText]=\"mandatory && src.length == 0 ? ('MESSAGES.ERROR_IS_REQUIRED' | translate: { field: label }) : ('MESSAGES.ERROR_IS_NOT_VALID' | translate: { field: label })\"></span>\n </mat-error>\n </mat-form-field>\n</ng-template>\n\n<ng-container *ngIf=\"layoutType === 'form'\">\n <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\n</ng-container>\n\n<ng-container *ngIf=\"layoutType === 'card'\">\n <!-- <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container> -->\n</ng-container>\n\n<ng-container *ngIf=\"layoutType === 'table'\">\n <!-- <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container> -->\n</ng-container>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { MatCommonModule } from '@angular/material/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { FileUploadModule } from 'ng2-file-upload';\n\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport {\n PepIconModule,\n PepIconRegistry,\n pepIconSystemBin,\n pepIconSystemAttach,\n pepIconSystemFileUploadCloud,\n pepIconSystemProcessing,\n} from '@pepperi-addons/ngx-lib/icon';\nimport { PepDialogModule } from '@pepperi-addons/ngx-lib/dialog';\n\nimport { PepFilesUploaderComponent } from './files-uploader.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n // Material modules,\n MatCommonModule,\n MatButtonModule,\n MatFormFieldModule,\n MatInputModule,\n MatIconModule,\n // External modules\n FileUploadModule,\n // ngx-lib modules\n PepNgxLibModule,\n PepIconModule,\n PepDialogModule,\n ],\n exports: [PepFilesUploaderComponent],\n declarations: [PepFilesUploaderComponent],\n})\nexport class PepFilesUploaderModule {\n constructor(private pepIconRegistry: PepIconRegistry) {\n this.pepIconRegistry.registerIcons([\n pepIconSystemBin,\n pepIconSystemAttach,\n pepIconSystemFileUploadCloud,\n pepIconSystemProcessing,\n ]);\n }\n}\n","/*\n * Public API Surface of ngx-lib/files-uploader\n */\nexport * from './files-uploader.module';\nexport * from './files-uploader.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i11","i1"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;MA6Ca,yBAAyB,CAAA;AA8ClC,IAAA,WAAA,CACY,aAA+B,EAC/B,oBAA6C,EAC7C,WAA2B,EAC3B,SAA2B,EAAA;QAH3B,IAAa,CAAA,aAAA,GAAb,aAAa,CAAkB;QAC/B,IAAoB,CAAA,oBAAA,GAApB,oBAAoB,CAAyB;QAC7C,IAAW,CAAA,WAAA,GAAX,WAAW,CAAgB;QAC3B,IAAS,CAAA,SAAA,GAAT,SAAS,CAAkB;QAjD9B,IAAG,CAAA,GAAA,GAAG,EAAE,CAAC;QACT,IAAG,CAAA,GAAA,GAAG,EAAE,CAAC;QACT,IAAK,CAAA,KAAA,GAAG,EAAE,CAAC;QACX,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;QAClB,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;QACjB,IAAU,CAAA,UAAA,GAA2B,4BAA4B,CAAC;QAEnE,IAAQ,CAAA,QAAA,GAAG,CAAC,CAAC;QASZ,IAAW,CAAA,WAAA,GAAG,EAAE,CAAC;QACjB,IAAW,CAAA,WAAA,GAAG,CAAC,CAAC;QAGhB,IAAkB,CAAA,kBAAA,GAAG,uCAAuC,CAAC;QAC7D,IAAU,CAAA,UAAA,GAAkB,MAAM,CAAC;QAEnC,IAAW,CAAA,WAAA,GAAG,EAAE,CAAC;;QAGjB,IAAa,CAAA,aAAA,GAAG,IAAI,CAAC;AAG9B,QAAA,IAAA,CAAA,UAAU,GAAuB,IAAI,YAAY,EAAQ,CAAC;AAG1D,QAAA,IAAA,CAAA,UAAU,GAAsC,IAAI,YAAY,EAAuB,CAAC;AAExF,QAAA,IAAA,CAAA,YAAY,GAAsC,IAAI,YAAY,EAAuB,CAAC;QAO1F,IAAQ,CAAA,QAAA,GAAG,CAAC,CAAC;;QAEb,IAAU,CAAA,UAAA,GAAQ,IAAI,CAAC;AAQnB,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC;QAE9D,IAAI,CAAC,QAAQ,CAAC,iBAAiB,GAAG,CAAC,IAAI,KAAI;AACvC,YAAA,IAAI,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE;gBAC/B,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE,CAAC;AAC3C,aAAA;AACD,YAAA,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;AAEhC,YAAA,MAAM,CAAC,MAAM,GAAG,CAAC,KAAU,KAAI;;;AAG3B,gBAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACnD,gBAAA,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACvD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC;AAChD,gBAAA,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;AAC9B,gBAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAC7B,OAAO,EACP,OAAO,EACP,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,WAAW,CACnB,CAAC;gBACF,IAAI,QAAQ,KAAK,EAAE,EAAE;AACjB,oBAAA,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC;;;AAGnB,oBAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACjB,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;wBAC3C,OAAO;wBACP,QAAQ;wBACR,OAAO;AACV,qBAAA,CAAC,CAAC;AACN,iBAAA;AAAM,qBAAA;oBACH,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAChC,uBAAuB,CAC1B,CAAC;AACF,oBAAA,MAAM,IAAI,GAAG,IAAI,aAAa,CAAC;wBAC3B,KAAK;AACL,wBAAA,OAAO,EAAE,QAAQ;AACpB,qBAAA,CAAC,CAAC;AACH,oBAAA,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;AAC9C,iBAAA;AACL,aAAC,CAAC;AACF,YAAA,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAGrC,SAAC,CAAC;KACL;IAzFD,IACI,OAAO,CAAC,KAAK,EAAA;AACb,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;KACzB;AACD,IAAA,IAAI,OAAO,GAAA;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC;KACxB;AAqFD,IAAA,WAAW,CAAC,QAAQ,EAAA;;AAEhB,QAAA,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;AACjE,QAAA,OAAO,QAAQ,CAAC;KACnB;AAED,IAAA,gBAAgB,CAAC,QAAQ,EAAA;;AAErB,QAAA,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;AACrF,QAAA,OAAO,SAAS,CAAC;KACpB;IAEO,cAAc,GAAA;AAClB,QAAA,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC;YAC9B,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,KAAK,EAAE,IAAI,CAAC,GAAG;YACf,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;AAC1B,SAAA,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;KACvE;IAED,QAAQ,GAAA;AACJ,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE;YACpB,IAAI,CAAC,cAAc,EAAE,CAAC;AACzB,SAAA;AACD;;AAEG;KACN;IAED,WAAW,CACP,OAAO,EACP,aAAa,EACb,kBAAkB,EAClB,WAAW,GAAG,CAAC,EAAA;QAEf,MAAM,IAAI,GAAQ,OAAO,CAAC;QAC1B,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,OAAO,GAAG,EAAE,CAAC;;AAEjB,QAAA,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE;AAC9D,YAAA,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;AAC9C,SAAA;AAAM,aAAA;AACH,YAAA,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;AACxB,SAAA;;AAED,QAAA,MAAM,MAAM,GACR,QAAQ,KAAK,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,QAAQ,GAAG,WAAW,GAAG,OAAO,CAAC;AACxE,QAAA,MAAM,WAAW,GACb,kBAAkB,KAAK,EAAE;YACzB,kBAAkB,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,WAAW,EAAE;YACd,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAC5B,wCAAwC,EACxC;AACI,gBAAA,aAAa,EACT,gCAAgC;oBAChC,aAAa;oBACb,UAAU;AACjB,aAAA,CACJ,CAAC;AACL,SAAA;aAAM,IAAI,CAAC,MAAM,EAAE;YAChB,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAC5B,mCAAmC,EACnC;AACI,gBAAA,QAAQ,EACJ,gCAAgC;oBAChC,WAAW,CAAC,QAAQ,EAAE;oBACtB,UAAU;AACjB,aAAA,CACJ,CAAC;AACL,SAAA;AACD,QAAA,OAAO,OAAO,CAAC;KAClB;AAED,IAAA,iBAAiB,CAAC,YAAoB,EAAA;AAClC,QAAA,IAAI,QAAgB,CAAC;QAErB,IAAI;AACA,YAAA,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAClE,YAAA,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC;AACxC,SAAA;AAAC,QAAA,OAAO,CAAC,EAAE;YACR,QAAQ,GAAG,CAAC,CAAC,CAAC;AACjB,SAAA;QAED,OAAO,QAAQ,CAAC;KACnB;;;;;;;;;;AAYD,IAAA,YAAY,CAAC,KAAK,EAAA;AACd,QAAA,KAAK,CAAC,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAChD,eAAe,CAAC,IAAI,CACvB,CAAC;AACF,QAAA,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;KACjE;AAEO,IAAA,WAAW,CAAC,QAAQ,EAAA;AACxB,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;AACzB,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;KACrC;IAED,UAAU,GAAA;AACN,QAAA,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;AAC3B,QAAA,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACtC,QAAA,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAEpB,MAAM,UAAU,GAAG,EAAE,CAAC;AACtB,QAAA,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC;AAEtB,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;;;;;KAO9B;AAED,IAAA,gBAAgB,CAAC,KAAK,EAAA;AAClB,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;YACnB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,UAAU,EAAE,KAAK,CAAC,KAAK;AAC1B,SAAA,CAAC,CAAC;KACN;AAED,IAAA,kBAAkB,CAAC,KAAK,EAAA;QACpB,IAAI,IAAI,CAAC,aAAa,EAAE;AACpB,YAAA,IAAI,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE;AAC/B,gBAAA,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;AACxC,aAAA;AACJ,SAAA;AAAM,aAAA;AACH,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;AAC1B,SAAA;KACJ;AAED,IAAA,qBAAqB,CAAC,KAAK,EAAA;QACvB,IAAI,IAAI,CAAC,aAAa,EAAE;YACpB,MAAM,CAAC,GAAG,KAAsB,CAAC;AAEjC,YAAA,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE;AAClC,gBAAA,IAAI,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE;AAC/B,oBAAA,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;AACxC,iBAAA;AACJ,aAAA;YACD,CAAC,CAAC,cAAc,EAAE,CAAC;AACtB,SAAA;AAAM,aAAA;AACH,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;AAC1B,SAAA;KACJ;;sHAnQQ,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,yBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,yBAAyB,srBC7CtC,gmKAmFe,EAAA,MAAA,EAAA,CAAA,klwBAAA,EAAA,4sqCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,4LAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,WAAA,EAAA,YAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,yHAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,IAAA,EAAA,aAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,GAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;0HDtCF,yBAAyB,EAAA,CAAA,CAAA;2FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAPrC,SAAS;+BACI,oBAAoB,EAAA,eAAA,EAGb,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,gmKAAA,EAAA,MAAA,EAAA,CAAA,klwBAAA,EAAA,4sqCAAA,CAAA,EAAA,CAAA;;kBAElD,UAAU;yMAEE,GAAG,EAAA,CAAA;sBAAX,KAAK;gBACG,GAAG,EAAA,CAAA;sBAAX,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAIF,OAAO,EAAA,CAAA;sBADV,KAAK;gBAQG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAEG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,kBAAkB,EAAA,CAAA;sBAA1B,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAEG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAGG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBAGN,UAAU,EAAA,CAAA;sBADT,MAAM;gBAIP,UAAU,EAAA,CAAA;sBADT,MAAM;gBAGP,YAAY,EAAA,CAAA;sBADX,MAAM;gBAGiB,SAAS,EAAA,CAAA;sBAAhC,SAAS;uBAAC,WAAW,CAAA;gBACK,YAAY,EAAA,CAAA;sBAAtC,SAAS;uBAAC,cAAc,CAAA;;;MEtChB,sBAAsB,CAAA;AAC/B,IAAA,WAAA,CAAoB,eAAgC,EAAA;QAAhC,IAAe,CAAA,eAAA,GAAf,eAAe,CAAiB;AAChD,QAAA,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC;YAC/B,gBAAgB;YAChB,mBAAmB;YACnB,4BAA4B;YAC5B,uBAAuB;AAC1B,SAAA,CAAC,CAAC;KACN;;mHARQ,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;oHAAtB,sBAAsB,EAAA,YAAA,EAAA,CAFhB,yBAAyB,CAAA,EAAA,OAAA,EAAA,CAhBpC,YAAY;QACZ,mBAAmB;;QAEnB,eAAe;QACf,eAAe;QACf,kBAAkB;QAClB,cAAc;QACd,aAAa;;QAEb,gBAAgB;;QAEhB,eAAe;QACf,aAAa;AACb,QAAA,eAAe,aAET,yBAAyB,CAAA,EAAA,CAAA,CAAA;AAG1B,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,YAlB3B,YAAY;QACZ,mBAAmB;;QAEnB,eAAe;QACf,eAAe;QACf,kBAAkB;QAClB,cAAc;QACd,aAAa;;QAEb,gBAAgB;;QAEhB,eAAe;QACf,aAAa;QACb,eAAe,CAAA,EAAA,CAAA,CAAA;2FAKV,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBApBlC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,YAAY;wBACZ,mBAAmB;;wBAEnB,eAAe;wBACf,eAAe;wBACf,kBAAkB;wBAClB,cAAc;wBACd,aAAa;;wBAEb,gBAAgB;;wBAEhB,eAAe;wBACf,aAAa;wBACb,eAAe;AAClB,qBAAA;oBACD,OAAO,EAAE,CAAC,yBAAyB,CAAC;oBACpC,YAAY,EAAE,CAAC,yBAAyB,CAAC;AAC5C,iBAAA,CAAA;;;AC5CD;;AAEG;;ACFH;;AAEG;;;;"}
|
|
@@ -41,9 +41,11 @@ class PepSignatureDialogComponent {
|
|
|
41
41
|
canvasHeight: 300,
|
|
42
42
|
penColor: 'rgb(151, 151, 151)',
|
|
43
43
|
};
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
44
|
+
if (data) {
|
|
45
|
+
this.signatureURL = data.value ?? '';
|
|
46
|
+
this.data.showActionBtn = data.showActionBtn ?? true;
|
|
47
|
+
this.data.disabled = data.disabled ?? false;
|
|
48
|
+
}
|
|
47
49
|
}
|
|
48
50
|
ngOnInit() {
|
|
49
51
|
}
|
|
@@ -84,10 +86,10 @@ class PepSignatureDialogComponent {
|
|
|
84
86
|
}
|
|
85
87
|
}
|
|
86
88
|
PepSignatureDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepSignatureDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
87
|
-
PepSignatureDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepSignatureDialogComponent, selector: "ng-component", viewQueries: [{ propertyName: "signaturePad", first: true, predicate: ["signaturePad"], descendants: true }], ngImport: i0, template: "<pep-dialog [title]=\"'SIGNATURE.DIALOG_TITLE' | translate\" [showFooter]=\"data.showActionBtn\" [showClose]=\"true\" (close)=\"closeDialog($event)\">\n <ng-container pep-dialog-content>\n <signature-pad #signaturePad [options]=\"signaturePadOptions\" (onBeginEvent)=\"drawStart()\"\n (onEndEvent)=\"drawComplete()\">\n </signature-pad>\n </ng-container>\n <div pep-dialog-actions class=\"pep-spacing-element-negative\">\n <button mat-button class=\"pep-spacing-element pep-button md weak\" [disabled]=\"data.disabled\"\n (click)=\"clearSignModal()\">\n {{ 'ACTIONS.CLEAR' | translate }}\n </button>\n <button mat-button class=\"pep-spacing-element pep-button md strong\" [disabled]=\"data.disabled\"\n (click)=\"saveSignModal($event)\">\n {{ 'ACTIONS.DONE' | translate }}\n </button>\n </div>\n</pep-dialog>", styles: [""], dependencies: [{ kind: "component", type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i3.SignaturePad, selector: "signature-pad", inputs: ["options"], outputs: ["onBeginEvent", "onEndEvent"] }, { kind: "component", type: i1$1.PepDialogComponent, selector: "pep-dialog", inputs: ["title", "showClose", "showHeader", "showFooter"], outputs: ["close"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] });
|
|
89
|
+
PepSignatureDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepSignatureDialogComponent, selector: "ng-component", viewQueries: [{ propertyName: "signaturePad", first: true, predicate: ["signaturePad"], descendants: true }], ngImport: i0, template: "<pep-dialog [title]=\"data.title || ('SIGNATURE.DIALOG_TITLE' | translate)\" [showFooter]=\"data.showActionBtn\" [showClose]=\"true\" (close)=\"closeDialog($event)\">\n <ng-container pep-dialog-content>\n <signature-pad #signaturePad [options]=\"signaturePadOptions\" (onBeginEvent)=\"drawStart()\"\n (onEndEvent)=\"drawComplete()\">\n </signature-pad>\n </ng-container>\n <div pep-dialog-actions class=\"pep-spacing-element-negative\">\n <button mat-button class=\"pep-spacing-element pep-button md weak\" [disabled]=\"data.disabled\"\n (click)=\"clearSignModal()\">\n {{ 'ACTIONS.CLEAR' | translate }}\n </button>\n <button mat-button class=\"pep-spacing-element pep-button md strong\" [disabled]=\"data.disabled\"\n (click)=\"saveSignModal($event)\">\n {{ 'ACTIONS.DONE' | translate }}\n </button>\n </div>\n</pep-dialog>", styles: [""], dependencies: [{ kind: "component", type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i3.SignaturePad, selector: "signature-pad", inputs: ["options"], outputs: ["onBeginEvent", "onEndEvent"] }, { kind: "component", type: i1$1.PepDialogComponent, selector: "pep-dialog", inputs: ["title", "showClose", "showHeader", "showFooter"], outputs: ["close"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] });
|
|
88
90
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepSignatureDialogComponent, decorators: [{
|
|
89
91
|
type: Component,
|
|
90
|
-
args: [{ template: "<pep-dialog [title]=\"'SIGNATURE.DIALOG_TITLE' | translate\" [showFooter]=\"data.showActionBtn\" [showClose]=\"true\" (close)=\"closeDialog($event)\">\n <ng-container pep-dialog-content>\n <signature-pad #signaturePad [options]=\"signaturePadOptions\" (onBeginEvent)=\"drawStart()\"\n (onEndEvent)=\"drawComplete()\">\n </signature-pad>\n </ng-container>\n <div pep-dialog-actions class=\"pep-spacing-element-negative\">\n <button mat-button class=\"pep-spacing-element pep-button md weak\" [disabled]=\"data.disabled\"\n (click)=\"clearSignModal()\">\n {{ 'ACTIONS.CLEAR' | translate }}\n </button>\n <button mat-button class=\"pep-spacing-element pep-button md strong\" [disabled]=\"data.disabled\"\n (click)=\"saveSignModal($event)\">\n {{ 'ACTIONS.DONE' | translate }}\n </button>\n </div>\n</pep-dialog>" }]
|
|
92
|
+
args: [{ template: "<pep-dialog [title]=\"data.title || ('SIGNATURE.DIALOG_TITLE' | translate)\" [showFooter]=\"data.showActionBtn\" [showClose]=\"true\" (close)=\"closeDialog($event)\">\n <ng-container pep-dialog-content>\n <signature-pad #signaturePad [options]=\"signaturePadOptions\" (onBeginEvent)=\"drawStart()\"\n (onEndEvent)=\"drawComplete()\">\n </signature-pad>\n </ng-container>\n <div pep-dialog-actions class=\"pep-spacing-element-negative\">\n <button mat-button class=\"pep-spacing-element pep-button md weak\" [disabled]=\"data.disabled\"\n (click)=\"clearSignModal()\">\n {{ 'ACTIONS.CLEAR' | translate }}\n </button>\n <button mat-button class=\"pep-spacing-element pep-button md strong\" [disabled]=\"data.disabled\"\n (click)=\"saveSignModal($event)\">\n {{ 'ACTIONS.DONE' | translate }}\n </button>\n </div>\n</pep-dialog>" }]
|
|
91
93
|
}], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
|
|
92
94
|
type: Inject,
|
|
93
95
|
args: [MAT_DIALOG_DATA]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pepperi-addons-ngx-lib-signature.mjs","sources":["../../../projects/ngx-lib/signature/signature-dialog.component.ts","../../../projects/ngx-lib/signature/signature-dialog.component.html","../../../projects/ngx-lib/signature/signature.component.ts","../../../projects/ngx-lib/signature/signature.component.html","../../../projects/ngx-lib/signature/signature.module.ts","../../../projects/ngx-lib/signature/public-api.ts","../../../projects/ngx-lib/signature/pepperi-addons-ngx-lib-signature.ts"],"sourcesContent":["import { Component, OnInit, Inject, ViewChild, AfterViewInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { SignaturePad } from 'ngx-signaturepad';\n\n\ninterface IPepSignatureDialogData {\n value: string;\n showActionBtn: boolean;\n disabled: boolean;\n}\n\n@Component({\n templateUrl: './signature-dialog.component.html',\n styleUrls: ['./signature-dialog.component.scss'],\n})\nexport class PepSignatureDialogComponent implements OnInit, AfterViewInit {\n private signatureURL = '';\n private acceptSignatureType = 'png';\n\n protected signaturePadOptions: any = {\n // passed through to szimek/signature_pad constructor\n minWidth: 2,\n canvasWidth: 500,\n canvasHeight: 300,\n penColor: 'rgb(151, 151, 151)',\n };\n\n @ViewChild('signaturePad') signaturePad: SignaturePad;\n\n constructor(\n private dialogRef: MatDialogRef<PepSignatureDialogComponent>,\n @Inject(MAT_DIALOG_DATA) public data: IPepSignatureDialogData\n ) {\n this.signatureURL = data ? data.value : '';\n this.data.showActionBtn = data.showActionBtn ?? true;\n this.data.disabled = data.disabled ?? false;\n }\n\n ngOnInit(): void {\n \n }\n\n ngAfterViewInit(): void {\n if (this.signatureURL && this.signatureURL !== '') {\n this.signaturePad.fromDataURL(this.signatureURL);\n this.signaturePad.off();\n }\n }\n\n drawComplete(): void {\n // will be notified of szimek/signature_pad's onEnd event\n }\n\n drawStart(): void {\n // will be notified of szimek/signature_pad's onBegin event\n }\n\n clearSignModal(): void {\n this.signatureURL = '';\n this.signaturePad.clear();\n this.signaturePad.on();\n }\n\n saveSignModal(event: any): void {\n let value: any;\n\n if (!this.signaturePad.isEmpty()) {\n this.signatureURL = this.signaturePad.toDataURL('image/png');\n value = {\n acceptedExtensions: this.acceptSignatureType,\n fileStr: this.signatureURL,\n fileExt: this.acceptSignatureType,\n };\n } else {\n value = '';\n }\n\n this.dialogRef.close(value);\n }\n\n closeDialog(event) {\n this.dialogRef.close(event);\n }\n}\n","<pep-dialog [title]=\"'SIGNATURE.DIALOG_TITLE' | translate\" [showFooter]=\"data.showActionBtn\" [showClose]=\"true\" (close)=\"closeDialog($event)\">\n <ng-container pep-dialog-content>\n <signature-pad #signaturePad [options]=\"signaturePadOptions\" (onBeginEvent)=\"drawStart()\"\n (onEndEvent)=\"drawComplete()\">\n </signature-pad>\n </ng-container>\n <div pep-dialog-actions class=\"pep-spacing-element-negative\">\n <button mat-button class=\"pep-spacing-element pep-button md weak\" [disabled]=\"data.disabled\"\n (click)=\"clearSignModal()\">\n {{ 'ACTIONS.CLEAR' | translate }}\n </button>\n <button mat-button class=\"pep-spacing-element pep-button md strong\" [disabled]=\"data.disabled\"\n (click)=\"saveSignModal($event)\">\n {{ 'ACTIONS.DONE' | translate }}\n </button>\n </div>\n</pep-dialog>","import {\n Component,\n OnInit,\n OnDestroy,\n ViewChild,\n Input,\n Output,\n EventEmitter,\n ChangeDetectorRef,\n ChangeDetectionStrategy,\n OnChanges,\n ElementRef,\n Renderer2,\n TemplateRef,\n} from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { SignaturePad } from 'ngx-signaturepad/signature-pad';\nimport {\n PepFileService,\n PepLayoutType,\n PepCustomizationService,\n PepHorizontalAlignment,\n DEFAULT_HORIZONTAL_ALIGNMENT,\n PepSignatureField,\n IPepFieldClickEvent,\n} from '@pepperi-addons/ngx-lib';\nimport { PepDialogService } from '@pepperi-addons/ngx-lib/dialog';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { PepSignatureDialogComponent } from './signature-dialog.component';\n\n@Component({\n selector: 'pep-signature',\n styleUrls: ['./signature.component.scss', './signature.component.theme.scss'],\n templateUrl: './signature.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PepSignatureComponent implements OnInit, OnChanges, OnDestroy {\n @Input() key = '';\n @Input() src = '';\n @Input() label = '';\n @Input() mandatory = false;\n @Input() disabled = false;\n @Input() readonly = false;\n @Input() xAlignment: PepHorizontalAlignment = DEFAULT_HORIZONTAL_ALIGNMENT;\n\n private _rowSpan = 1;\n @Input()\n set rowSpan(value) {\n this._rowSpan = value;\n this.setFieldHeight();\n }\n get rowSpan(): number {\n return this._rowSpan;\n }\n\n @Input() signatureURL = '';\n // @Input() inDialog = false;\n\n private _visible = true;\n @Input()\n set visible(visible: boolean) {\n this._visible = visible;\n if (visible) {\n this.renderer.removeClass(\n this.element.nativeElement,\n 'hidden-element'\n );\n } else {\n this.renderer.addClass(\n this.element.nativeElement,\n 'hidden-element'\n );\n }\n }\n get visible(): boolean {\n return this._visible;\n }\n\n controlType = 'signature';\n\n @Input() form: FormGroup = null;\n @Input() showTitle = true;\n @Input() renderTitle = true;\n\n private _layoutType: PepLayoutType = 'form';\n @Input()\n set layoutType(value: PepLayoutType) {\n this._layoutType = value;\n this.setFieldHeight();\n }\n get layoutType(): PepLayoutType {\n return this._layoutType;\n }\n\n @Input() isActive = false;\n\n // To know if handle actions or just raise them as output\n @Input() handleActions = true;\n\n @Output()\n chooseFile: EventEmitter<void> = new EventEmitter<void>(); // This event will fired only when handleActions Input is false\n \n @Output()\n fileChange: EventEmitter<any> = new EventEmitter<any>();\n\n @Output()\n elementClick: EventEmitter<IPepFieldClickEvent> = new EventEmitter<IPepFieldClickEvent>();\n \n // @ViewChild('signaturePad') signaturePad: SignaturePad;\n // @ViewChild('signaturePad', {static: true}) private signaturePad!: SignaturePad; \n\n // @ViewChild('signaturePopupPad', { read: TemplateRef }) signaturePopupPad: TemplateRef<any>;\n dialogRef: MatDialogRef<any>;\n\n fieldHeight = '';\n standAlone = false;\n dataURI = null;\n showActionBtn = true;\n\n // public isVisibleModal = false;\n // acceptSignatureType = 'png';\n\n // public signaturePadOptions: any = {\n // // passed through to szimek/signature_pad constructor\n // minWidth: 2,\n // canvasWidth: 500,\n // canvasHeight: 300,\n // penColor: 'rgb(151, 151, 151)',\n // };\n\n constructor(\n private dialogService: PepDialogService,\n private customizationService: PepCustomizationService,\n private fileService: PepFileService,\n private cd: ChangeDetectorRef,\n private renderer: Renderer2,\n private element: ElementRef\n ) { }\n\n private setFieldHeight(): void {\n this.fieldHeight = this.customizationService.calculateFieldHeight(\n this.layoutType,\n this.rowSpan,\n this.standAlone\n );\n }\n\n private setDefaultForm(): void {\n const pepField = new PepSignatureField({\n key: this.key,\n value: this.src,\n mandatory: this.mandatory,\n readonly: this.readonly,\n disabled: this.disabled,\n });\n this.form = this.customizationService.getDefaultFromGroup(pepField);\n }\n\n private openSignatoreDlg(src = ''): void {\n this.showActionBtn = this.signatureURL && this.signatureURL !== '' ? false : true;\n\n // this.dialogRef = this.dialogService.openDialog(this.signaturePopupPad);\n // this.dialogRef.afterOpened().subscribe(() => {\n // this.afterDialogOpened();\n // });\n \n this.dialogRef = this.dialogService.openDialog(\n PepSignatureDialogComponent,\n {\n value: this.signatureURL,\n showActionBtn: this.showActionBtn,\n disabled: this.disabled || this.readonly\n }\n );\n\n this.dialogRef.afterClosed().subscribe((value) => {\n if (value !== undefined && value !== null) {\n if (value !== '') {\n this.signatureURL = value.fileStr;\n this.changeValue(value);\n } else {\n this.signatureURL = '';\n this.changeValue(this.signatureURL);\n }\n }\n });\n }\n\n // private afterDialogOpened(): void {\n // if (this.signatureURL && this.signatureURL !== '') {\n // this.signaturePad.fromDataURL(this.signatureURL);\n // this.signaturePad.off();\n // }\n // }\n\n ngOnInit(): void {\n if (this.form === null) {\n this.standAlone = true;\n this.setFieldHeight();\n this.setDefaultForm();\n\n this.renderer.addClass(\n this.element.nativeElement,\n PepCustomizationService.STAND_ALONE_FIELD_CLASS_NAME\n );\n\n if (!this.renderTitle) {\n this.renderer.addClass(\n this.element.nativeElement,\n PepCustomizationService.STAND_ALONE_FIELD_NO_SPACING_CLASS_NAME\n );\n }\n }\n }\n\n ngOnChanges(changes: any): void {\n if (this.standAlone) {\n this.setDefaultForm();\n }\n\n if (changes.src && changes.src.currentValue?.length > 0) {\n // Empty dataURI if there is change in the src.\n this.dataURI = null;\n\n // For clean the cache.\n // this.src = this.src ? this.src + '?t=' + new Date().toTimeString() : '';\n }\n }\n\n ngOnDestroy(): void {\n //\n }\n\n // drawComplete(): void {\n // // will be notified of szimek/signature_pad's onEnd event\n // }\n\n // drawStart(): void {\n // // will be notified of szimek/signature_pad's onBegin event\n // }\n\n openSignModal(): void {\n if (this.handleActions) {\n // If the signature is not empty open it in image viewer.\n //! Remove this `if` to always open signature in modal \n if (this.standAlone && this.dataURI) {\n const fileStrArr = this.dataURI.fileStr.split(';');\n\n if (fileStrArr.length === 2) {\n const win = window.open('', '_blank');\n const contentType = fileStrArr[0].split(':')[1];\n const base64 = fileStrArr[1].split(',')[1];\n const blob = this.fileService.convertFromb64toBlob(\n base64,\n contentType\n );\n const url = URL.createObjectURL(blob);\n win.location.href = url;\n }\n // signature allready exits\n } else {\n this.signatureURL = this.src;\n this.openSignatoreDlg(this.signatureURL);\n }\n } else {\n if (this.src.length > 0) {\n this.elementClick.emit({\n key: this.key,\n value: this.signatureURL\n });\n } else {\n this.chooseFile.emit();\n }\n }\n }\n\n deleteSignature(event: any): void {\n this.signatureURL = '';\n this.changeValue(this.signatureURL);\n this.cd.detectChanges();\n }\n\n // clearSignModal(): void {\n // this.signatureURL = '';\n // this.signaturePad.clear();\n // this.signaturePad.on();\n // }\n\n // saveSignModal(event: any): void {\n // if (!this.signaturePad.isEmpty()) {\n // this.signatureURL = this.signaturePad.toDataURL('image/png');\n // const fileValue = {\n // acceptedExtensions: this.acceptSignatureType,\n // fileStr: this.signatureURL,\n // fileExt: this.acceptSignatureType,\n // };\n // this.changeValue(fileValue);\n // } else {\n // this.signatureURL = '';\n // this.changeValue(this.signatureURL);\n // }\n\n // this.dialogRef.close(this.signatureURL);\n // }\n \n // closeDialog(event) {\n // this.dialogRef.close(event);\n // }\n\n errorHandler(event: any): void {\n this.signatureURL = this.src = ''; // this.blankImage;\n }\n\n changeValue(fileData: any): void {\n if (this.handleActions) {\n this.dataURI = fileData;\n this.src = this.standAlone && this.dataURI ? this.dataURI.fileStr : '';\n this.customizationService.updateFormFieldValue(\n this.form,\n this.key,\n this.dataURI ? this.dataURI.fileExt : ''\n );\n }\n this.fileChange.emit(fileData);\n }\n\n onKeyPress_OpenSignModal(event: any): void {\n const e = event as KeyboardEvent;\n\n if ([13, 32].indexOf(e.which) !== -1) {\n this.openSignModal();\n }\n e.preventDefault();\n }\n}","<ng-container [formGroup]=\"form\">\n <ng-container>\n <ng-template #pepTemplate>\n <mat-form-field [formGroup]=\"form\" appearance=\"outline\">\n <div class=\"pep-file-wrapper\">\n <div class=\"pep-file body-sm\" [ngClass]=\"{ disable: disabled }\" [style.height]=\"fieldHeight\">\n <ng-container *ngIf=\"src != ''; then withImg; else noImg\"></ng-container>\n <ng-template #withImg>\n <button *ngIf=\"!disabled\" mat-button (click)=\"deleteSignature($event)\"\n class=\"pep-button icon-button weak md delete\" tabindex=\"-1\"\n [ngClass]=\"{ 'right-alignment': xAlignment == 'right' }\">\n <mat-icon>\n <pep-icon name=\"system_bin\"></pep-icon>\n </mat-icon>\n </button>\n <div class=\"pep-file-preview\" (click)=\"openSignModal()\">\n <img [src]=\"src\" [style.max-height]=\"fieldHeight\" class=\"pep-file-preview-img\"\n (error)=\"errorHandler($event)\" [alt]=\"label\"\n [ngClass]=\"['text-align-' + xAlignment]\" />\n </div>\n </ng-template>\n <ng-template #noImg>\n <div class=\"ellipsis pep-file-message\">\n <mat-icon class=\"pep-spacing-element\">\n <pep-icon name=\"system_signature\"></pep-icon>\n </mat-icon>\n <span class=\"body-sm ellipsis\">\n {{ (disabled ? 'MESSAGES.INFO_MISSING_SIGNATURE' : 'SIGNATURE.HINT') | translate }}\n </span>\n </div>\n </ng-template>\n </div>\n <input [id]=\"key\" matInput [formControlName]=\"key\" class=\"hidden-input signature\" type=\"text\"\n [value]=\"src\" (click)=\"openSignModal()\" (keypress)=\"onKeyPress_OpenSignModal($event)\"\n autocomplete=\"off\" readonly />\n </div>\n\n <mat-error><span class=\"body-xs\"\n [title]=\"mandatory && src.length == 0 ? ('MESSAGES.ERROR_IS_REQUIRED' | translate: { field: label }) : ('MESSAGES.ERROR_IS_NOT_VALID' | translate: { field: label })\"\n [innerText]=\"mandatory && src.length == 0 ? ('MESSAGES.ERROR_IS_REQUIRED' | translate: { field: label }) : ('MESSAGES.ERROR_IS_NOT_VALID' | translate: { field: label })\"></span>\n </mat-error>\n </mat-form-field>\n </ng-template>\n\n <ng-container *ngIf=\"layoutType === 'form'\">\n <div class=\"pep-file-container\" [ngClass]=\"{ 'one-row': rowSpan == 1, 'stand-alone': standAlone}\">\n <pep-field-title *ngIf=\"renderTitle\" [label]=\"label\" [mandatory]=\"mandatory\" [disabled]=\"disabled\"\n [xAlignment]=\"xAlignment\" [showTitle]=\"showTitle\">\n </pep-field-title>\n <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"layoutType === 'card'\">\n <ng-container *ngIf=\"false && isActive && !disabled; then selectedBlock; else notSelectedBlock\">\n </ng-container>\n <ng-template #selectedBlock>\n <div class=\"pep-file-container\" [ngClass]=\"{ 'one-row': rowSpan == 1}\">\n <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\n </div>\n </ng-template>\n <ng-template #notSelectedBlock>\n <div class=\"pep-file-container\" [ngClass]=\"{ 'one-row': rowSpan == 1 }\">\n <ng-container *ngTemplateOutlet=\"pepReadonlyTemplate; context: { isTableView: false}\">\n </ng-container>\n </div>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"layoutType === 'table'\">\n <ng-container *ngIf=\"false && isActive && !disabled; then selectedBlock; else notSelectedBlock\">\n </ng-container>\n <ng-template #selectedBlock>\n <div class=\"pep-file-container one-row\">\n <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\n </div>\n </ng-template>\n <ng-template #notSelectedBlock>\n <div class=\"pep-file-container one-row\">\n <ng-container *ngTemplateOutlet=\"pepReadonlyTemplate; context: { isTableView: true}\">\n </ng-container>\n </div>\n </ng-template>\n </ng-container>\n </ng-container>\n\n <!-- <ng-container *ngIf=\"inDialog === true\">\n <ng-container *ngTemplateOutlet=\"signaturePopupPad\"></ng-container>\n </ng-container> -->\n\n <!-- <div *ngIf=\"inDialog === false\" class=\"signature-backdrop modal\" [ngClass]=\"{ fade: !isVisibleModal }\" tabindex=\"-1\"\n role=\"dialog\" aria-labelledby=\"gridModalLabel\" aria-hidden=\"true\"\n [ngStyle]=\"{ display: isVisibleModal ? 'block' : 'none' }\">\n <div class=\"signature-modal modal-dialog\" role=\"document\">\n <div class=\"modal-content\">\n <ng-container *ngTemplateOutlet=\"signaturePopupPad\"></ng-container>\n </div>\n </div>\n </div> -->\n\n <ng-template #pepReadonlyTemplate let-isTableView=\"isTableView\">\n <div class=\"pep-file-container\">\n <div class=\"pep-file-wrapper\">\n <div class=\"pep-file body-sm disable\">\n <ng-container *ngIf=\"src != ''; then withImg; else noImg\"></ng-container>\n <ng-template #withImg>\n <div class=\"pep-file-preview\" (click)=\"openSignModal()\">\n <img *ngIf=\"!isTableView\" [src]=\"src\" [style.max-height]=\"fieldHeight\"\n class=\"pep-file-preview-img\" (error)=\"errorHandler($event)\" [alt]=\"label\"\n [ngClass]=\"['text-align-' + xAlignment]\" />\n <img *ngIf=\"isTableView\" [src]=\"src\" [style.max-height]=\"fieldHeight\"\n class=\"pep-report-file pep-file-preview-img\" (error)=\"errorHandler($event)\"\n [alt]=\"label\" [ngClass]=\"['text-align-' + xAlignment]\" />\n </div>\n </ng-template>\n <ng-template #noImg></ng-template>\n </div>\n </div>\n </div>\n </ng-template>\n\n <!-- <ng-template #signaturePopupPad>\n <pep-dialog [title]=\"'SIGNATURE.DIALOG_TITLE' | translate\" [showFooter]=\"showActionBtn\" [showClose]=\"true\" (close)=\"closeDialog($event)\">\n <ng-container pep-dialog-content>\n <signature-pad #signaturePad [options]=\"signaturePadOptions\" (onBeginEvent)=\"drawStart()\"\n (onEndEvent)=\"drawComplete()\">\n </signature-pad>\n </ng-container>\n <div pep-dialog-actions class=\"pep-spacing-element-negative\">\n <button mat-button class=\"pep-spacing-element pep-button md weak\" [disabled]=\"readonly || disabled\"\n (click)=\"clearSignModal()\">\n {{ 'ACTIONS.CLEAR' | translate }}\n </button>\n <button mat-button class=\"pep-spacing-element pep-button md strong\" [disabled]=\"readonly || disabled\"\n (click)=\"saveSignModal($event)\">\n {{ 'ACTIONS.DONE' | translate }}\n </button>\n </div>\n </pep-dialog>\n </ng-template> -->\n\n</ng-container>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { MatCommonModule } from '@angular/material/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatDialogModule } from '@angular/material/dialog';\n\nimport { SignaturePadModule } from 'ngx-signaturepad';\n\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport {\n PepIconModule,\n PepIconRegistry,\n pepIconSystemBin,\n pepIconSystemSignature,\n pepIconSystemClose,\n} from '@pepperi-addons/ngx-lib/icon';\nimport { PepFieldTitleModule } from '@pepperi-addons/ngx-lib/field-title';\nimport { PepFilesUploaderModule } from '@pepperi-addons/ngx-lib/files-uploader';\nimport { PepDialogModule } from '@pepperi-addons/ngx-lib/dialog';\n\nimport { PepSignatureComponent } from './signature.component';\nimport { PepSignatureDialogComponent } from './signature-dialog.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n // Material modules\n MatCommonModule,\n MatButtonModule,\n MatFormFieldModule,\n MatInputModule,\n MatIconModule,\n MatDialogModule,\n // External modules\n SignaturePadModule,\n // ngx-lib modules\n PepNgxLibModule,\n PepIconModule,\n PepFieldTitleModule,\n PepFilesUploaderModule,\n PepDialogModule,\n ],\n exports: [PepSignatureComponent, PepSignatureDialogComponent],\n declarations: [PepSignatureComponent, PepSignatureDialogComponent],\n})\nexport class PepSignatureModule {\n constructor(private pepIconRegistry: PepIconRegistry) {\n this.pepIconRegistry.registerIcons([\n pepIconSystemBin,\n pepIconSystemSignature,\n pepIconSystemClose,\n ]);\n }\n}\n","/*\n * Public API Surface of ngx-lib/signature\n */\nexport * from './signature.module';\nexport * from './signature.component';\nexport * from './signature-dialog.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i4","i1","i2","i3","i5","i9","i11"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pepperi-addons-ngx-lib-signature.mjs","sources":["../../../projects/ngx-lib/signature/signature-dialog.component.ts","../../../projects/ngx-lib/signature/signature-dialog.component.html","../../../projects/ngx-lib/signature/signature.component.ts","../../../projects/ngx-lib/signature/signature.component.html","../../../projects/ngx-lib/signature/signature.module.ts","../../../projects/ngx-lib/signature/public-api.ts","../../../projects/ngx-lib/signature/pepperi-addons-ngx-lib-signature.ts"],"sourcesContent":["import { Component, OnInit, Inject, ViewChild, AfterViewInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { SignaturePad } from 'ngx-signaturepad';\n\n\ninterface IPepSignatureDialogData {\n title: string;\n value: string;\n showActionBtn: boolean;\n disabled: boolean;\n}\n\n@Component({\n templateUrl: './signature-dialog.component.html',\n styleUrls: ['./signature-dialog.component.scss'],\n})\nexport class PepSignatureDialogComponent implements OnInit, AfterViewInit {\n private signatureURL = '';\n private acceptSignatureType = 'png';\n\n protected signaturePadOptions: any = {\n // passed through to szimek/signature_pad constructor\n minWidth: 2,\n canvasWidth: 500,\n canvasHeight: 300,\n penColor: 'rgb(151, 151, 151)',\n };\n\n @ViewChild('signaturePad') signaturePad: SignaturePad;\n\n constructor(\n private dialogRef: MatDialogRef<PepSignatureDialogComponent>,\n @Inject(MAT_DIALOG_DATA) public data: IPepSignatureDialogData\n ) {\n if (data) {\n this.signatureURL = data.value ?? '';\n this.data.showActionBtn = data.showActionBtn ?? true;\n this.data.disabled = data.disabled ?? false;\n }\n }\n\n ngOnInit(): void {\n \n }\n\n ngAfterViewInit(): void {\n if (this.signatureURL && this.signatureURL !== '') {\n this.signaturePad.fromDataURL(this.signatureURL);\n this.signaturePad.off();\n }\n }\n\n drawComplete(): void {\n // will be notified of szimek/signature_pad's onEnd event\n }\n\n drawStart(): void {\n // will be notified of szimek/signature_pad's onBegin event\n }\n\n clearSignModal(): void {\n this.signatureURL = '';\n this.signaturePad.clear();\n this.signaturePad.on();\n }\n\n saveSignModal(event: any): void {\n let value: any;\n\n if (!this.signaturePad.isEmpty()) {\n this.signatureURL = this.signaturePad.toDataURL('image/png');\n value = {\n acceptedExtensions: this.acceptSignatureType,\n fileStr: this.signatureURL,\n fileExt: this.acceptSignatureType,\n };\n } else {\n value = '';\n }\n\n this.dialogRef.close(value);\n }\n\n closeDialog(event) {\n this.dialogRef.close(event);\n }\n}\n","<pep-dialog [title]=\"data.title || ('SIGNATURE.DIALOG_TITLE' | translate)\" [showFooter]=\"data.showActionBtn\" [showClose]=\"true\" (close)=\"closeDialog($event)\">\n <ng-container pep-dialog-content>\n <signature-pad #signaturePad [options]=\"signaturePadOptions\" (onBeginEvent)=\"drawStart()\"\n (onEndEvent)=\"drawComplete()\">\n </signature-pad>\n </ng-container>\n <div pep-dialog-actions class=\"pep-spacing-element-negative\">\n <button mat-button class=\"pep-spacing-element pep-button md weak\" [disabled]=\"data.disabled\"\n (click)=\"clearSignModal()\">\n {{ 'ACTIONS.CLEAR' | translate }}\n </button>\n <button mat-button class=\"pep-spacing-element pep-button md strong\" [disabled]=\"data.disabled\"\n (click)=\"saveSignModal($event)\">\n {{ 'ACTIONS.DONE' | translate }}\n </button>\n </div>\n</pep-dialog>","import {\n Component,\n OnInit,\n OnDestroy,\n ViewChild,\n Input,\n Output,\n EventEmitter,\n ChangeDetectorRef,\n ChangeDetectionStrategy,\n OnChanges,\n ElementRef,\n Renderer2,\n TemplateRef,\n} from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { SignaturePad } from 'ngx-signaturepad/signature-pad';\nimport {\n PepFileService,\n PepLayoutType,\n PepCustomizationService,\n PepHorizontalAlignment,\n DEFAULT_HORIZONTAL_ALIGNMENT,\n PepSignatureField,\n IPepFieldClickEvent,\n} from '@pepperi-addons/ngx-lib';\nimport { PepDialogService } from '@pepperi-addons/ngx-lib/dialog';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { PepSignatureDialogComponent } from './signature-dialog.component';\n\n@Component({\n selector: 'pep-signature',\n styleUrls: ['./signature.component.scss', './signature.component.theme.scss'],\n templateUrl: './signature.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PepSignatureComponent implements OnInit, OnChanges, OnDestroy {\n @Input() key = '';\n @Input() src = '';\n @Input() label = '';\n @Input() mandatory = false;\n @Input() disabled = false;\n @Input() readonly = false;\n @Input() xAlignment: PepHorizontalAlignment = DEFAULT_HORIZONTAL_ALIGNMENT;\n\n private _rowSpan = 1;\n @Input()\n set rowSpan(value) {\n this._rowSpan = value;\n this.setFieldHeight();\n }\n get rowSpan(): number {\n return this._rowSpan;\n }\n\n @Input() signatureURL = '';\n // @Input() inDialog = false;\n\n private _visible = true;\n @Input()\n set visible(visible: boolean) {\n this._visible = visible;\n if (visible) {\n this.renderer.removeClass(\n this.element.nativeElement,\n 'hidden-element'\n );\n } else {\n this.renderer.addClass(\n this.element.nativeElement,\n 'hidden-element'\n );\n }\n }\n get visible(): boolean {\n return this._visible;\n }\n\n controlType = 'signature';\n\n @Input() form: FormGroup = null;\n @Input() showTitle = true;\n @Input() renderTitle = true;\n\n private _layoutType: PepLayoutType = 'form';\n @Input()\n set layoutType(value: PepLayoutType) {\n this._layoutType = value;\n this.setFieldHeight();\n }\n get layoutType(): PepLayoutType {\n return this._layoutType;\n }\n\n @Input() isActive = false;\n\n // To know if handle actions or just raise them as output\n @Input() handleActions = true;\n\n @Output()\n chooseFile: EventEmitter<void> = new EventEmitter<void>(); // This event will fired only when handleActions Input is false\n \n @Output()\n fileChange: EventEmitter<any> = new EventEmitter<any>();\n\n @Output()\n elementClick: EventEmitter<IPepFieldClickEvent> = new EventEmitter<IPepFieldClickEvent>();\n \n // @ViewChild('signaturePad') signaturePad: SignaturePad;\n // @ViewChild('signaturePad', {static: true}) private signaturePad!: SignaturePad; \n\n // @ViewChild('signaturePopupPad', { read: TemplateRef }) signaturePopupPad: TemplateRef<any>;\n dialogRef: MatDialogRef<any>;\n\n fieldHeight = '';\n standAlone = false;\n dataURI = null;\n showActionBtn = true;\n\n // public isVisibleModal = false;\n // acceptSignatureType = 'png';\n\n // public signaturePadOptions: any = {\n // // passed through to szimek/signature_pad constructor\n // minWidth: 2,\n // canvasWidth: 500,\n // canvasHeight: 300,\n // penColor: 'rgb(151, 151, 151)',\n // };\n\n constructor(\n private dialogService: PepDialogService,\n private customizationService: PepCustomizationService,\n private fileService: PepFileService,\n private cd: ChangeDetectorRef,\n private renderer: Renderer2,\n private element: ElementRef\n ) { }\n\n private setFieldHeight(): void {\n this.fieldHeight = this.customizationService.calculateFieldHeight(\n this.layoutType,\n this.rowSpan,\n this.standAlone\n );\n }\n\n private setDefaultForm(): void {\n const pepField = new PepSignatureField({\n key: this.key,\n value: this.src,\n mandatory: this.mandatory,\n readonly: this.readonly,\n disabled: this.disabled,\n });\n this.form = this.customizationService.getDefaultFromGroup(pepField);\n }\n\n private openSignatoreDlg(src = ''): void {\n this.showActionBtn = this.signatureURL && this.signatureURL !== '' ? false : true;\n\n // this.dialogRef = this.dialogService.openDialog(this.signaturePopupPad);\n // this.dialogRef.afterOpened().subscribe(() => {\n // this.afterDialogOpened();\n // });\n \n this.dialogRef = this.dialogService.openDialog(\n PepSignatureDialogComponent,\n {\n value: this.signatureURL,\n showActionBtn: this.showActionBtn,\n disabled: this.disabled || this.readonly\n }\n );\n\n this.dialogRef.afterClosed().subscribe((value) => {\n if (value !== undefined && value !== null) {\n if (value !== '') {\n this.signatureURL = value.fileStr;\n this.changeValue(value);\n } else {\n this.signatureURL = '';\n this.changeValue(this.signatureURL);\n }\n }\n });\n }\n\n // private afterDialogOpened(): void {\n // if (this.signatureURL && this.signatureURL !== '') {\n // this.signaturePad.fromDataURL(this.signatureURL);\n // this.signaturePad.off();\n // }\n // }\n\n ngOnInit(): void {\n if (this.form === null) {\n this.standAlone = true;\n this.setFieldHeight();\n this.setDefaultForm();\n\n this.renderer.addClass(\n this.element.nativeElement,\n PepCustomizationService.STAND_ALONE_FIELD_CLASS_NAME\n );\n\n if (!this.renderTitle) {\n this.renderer.addClass(\n this.element.nativeElement,\n PepCustomizationService.STAND_ALONE_FIELD_NO_SPACING_CLASS_NAME\n );\n }\n }\n }\n\n ngOnChanges(changes: any): void {\n if (this.standAlone) {\n this.setDefaultForm();\n }\n\n if (changes.src && changes.src.currentValue?.length > 0) {\n // Empty dataURI if there is change in the src.\n this.dataURI = null;\n\n // For clean the cache.\n // this.src = this.src ? this.src + '?t=' + new Date().toTimeString() : '';\n }\n }\n\n ngOnDestroy(): void {\n //\n }\n\n // drawComplete(): void {\n // // will be notified of szimek/signature_pad's onEnd event\n // }\n\n // drawStart(): void {\n // // will be notified of szimek/signature_pad's onBegin event\n // }\n\n openSignModal(): void {\n if (this.handleActions) {\n // If the signature is not empty open it in image viewer.\n //! Remove this `if` to always open signature in modal \n if (this.standAlone && this.dataURI) {\n const fileStrArr = this.dataURI.fileStr.split(';');\n\n if (fileStrArr.length === 2) {\n const win = window.open('', '_blank');\n const contentType = fileStrArr[0].split(':')[1];\n const base64 = fileStrArr[1].split(',')[1];\n const blob = this.fileService.convertFromb64toBlob(\n base64,\n contentType\n );\n const url = URL.createObjectURL(blob);\n win.location.href = url;\n }\n // signature allready exits\n } else {\n this.signatureURL = this.src;\n this.openSignatoreDlg(this.signatureURL);\n }\n } else {\n if (this.src.length > 0) {\n this.elementClick.emit({\n key: this.key,\n value: this.signatureURL\n });\n } else {\n this.chooseFile.emit();\n }\n }\n }\n\n deleteSignature(event: any): void {\n this.signatureURL = '';\n this.changeValue(this.signatureURL);\n this.cd.detectChanges();\n }\n\n // clearSignModal(): void {\n // this.signatureURL = '';\n // this.signaturePad.clear();\n // this.signaturePad.on();\n // }\n\n // saveSignModal(event: any): void {\n // if (!this.signaturePad.isEmpty()) {\n // this.signatureURL = this.signaturePad.toDataURL('image/png');\n // const fileValue = {\n // acceptedExtensions: this.acceptSignatureType,\n // fileStr: this.signatureURL,\n // fileExt: this.acceptSignatureType,\n // };\n // this.changeValue(fileValue);\n // } else {\n // this.signatureURL = '';\n // this.changeValue(this.signatureURL);\n // }\n\n // this.dialogRef.close(this.signatureURL);\n // }\n \n // closeDialog(event) {\n // this.dialogRef.close(event);\n // }\n\n errorHandler(event: any): void {\n this.signatureURL = this.src = ''; // this.blankImage;\n }\n\n changeValue(fileData: any): void {\n if (this.handleActions) {\n this.dataURI = fileData;\n this.src = this.standAlone && this.dataURI ? this.dataURI.fileStr : '';\n this.customizationService.updateFormFieldValue(\n this.form,\n this.key,\n this.dataURI ? this.dataURI.fileExt : ''\n );\n }\n this.fileChange.emit(fileData);\n }\n\n onKeyPress_OpenSignModal(event: any): void {\n const e = event as KeyboardEvent;\n\n if ([13, 32].indexOf(e.which) !== -1) {\n this.openSignModal();\n }\n e.preventDefault();\n }\n}","<ng-container [formGroup]=\"form\">\n <ng-container>\n <ng-template #pepTemplate>\n <mat-form-field [formGroup]=\"form\" appearance=\"outline\">\n <div class=\"pep-file-wrapper\">\n <div class=\"pep-file body-sm\" [ngClass]=\"{ disable: disabled }\" [style.height]=\"fieldHeight\">\n <ng-container *ngIf=\"src != ''; then withImg; else noImg\"></ng-container>\n <ng-template #withImg>\n <button *ngIf=\"!disabled\" mat-button (click)=\"deleteSignature($event)\"\n class=\"pep-button icon-button weak md delete\" tabindex=\"-1\"\n [ngClass]=\"{ 'right-alignment': xAlignment == 'right' }\">\n <mat-icon>\n <pep-icon name=\"system_bin\"></pep-icon>\n </mat-icon>\n </button>\n <div class=\"pep-file-preview\" (click)=\"openSignModal()\">\n <img [src]=\"src\" [style.max-height]=\"fieldHeight\" class=\"pep-file-preview-img\"\n (error)=\"errorHandler($event)\" [alt]=\"label\"\n [ngClass]=\"['text-align-' + xAlignment]\" />\n </div>\n </ng-template>\n <ng-template #noImg>\n <div class=\"ellipsis pep-file-message\">\n <mat-icon class=\"pep-spacing-element\">\n <pep-icon name=\"system_signature\"></pep-icon>\n </mat-icon>\n <span class=\"body-sm ellipsis\">\n {{ (disabled ? 'MESSAGES.INFO_MISSING_SIGNATURE' : 'SIGNATURE.HINT') | translate }}\n </span>\n </div>\n </ng-template>\n </div>\n <input [id]=\"key\" matInput [formControlName]=\"key\" class=\"hidden-input signature\" type=\"text\"\n [value]=\"src\" (click)=\"openSignModal()\" (keypress)=\"onKeyPress_OpenSignModal($event)\"\n autocomplete=\"off\" readonly />\n </div>\n\n <mat-error><span class=\"body-xs\"\n [title]=\"mandatory && src.length == 0 ? ('MESSAGES.ERROR_IS_REQUIRED' | translate: { field: label }) : ('MESSAGES.ERROR_IS_NOT_VALID' | translate: { field: label })\"\n [innerText]=\"mandatory && src.length == 0 ? ('MESSAGES.ERROR_IS_REQUIRED' | translate: { field: label }) : ('MESSAGES.ERROR_IS_NOT_VALID' | translate: { field: label })\"></span>\n </mat-error>\n </mat-form-field>\n </ng-template>\n\n <ng-container *ngIf=\"layoutType === 'form'\">\n <div class=\"pep-file-container\" [ngClass]=\"{ 'one-row': rowSpan == 1, 'stand-alone': standAlone}\">\n <pep-field-title *ngIf=\"renderTitle\" [label]=\"label\" [mandatory]=\"mandatory\" [disabled]=\"disabled\"\n [xAlignment]=\"xAlignment\" [showTitle]=\"showTitle\">\n </pep-field-title>\n <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"layoutType === 'card'\">\n <ng-container *ngIf=\"false && isActive && !disabled; then selectedBlock; else notSelectedBlock\">\n </ng-container>\n <ng-template #selectedBlock>\n <div class=\"pep-file-container\" [ngClass]=\"{ 'one-row': rowSpan == 1}\">\n <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\n </div>\n </ng-template>\n <ng-template #notSelectedBlock>\n <div class=\"pep-file-container\" [ngClass]=\"{ 'one-row': rowSpan == 1 }\">\n <ng-container *ngTemplateOutlet=\"pepReadonlyTemplate; context: { isTableView: false}\">\n </ng-container>\n </div>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"layoutType === 'table'\">\n <ng-container *ngIf=\"false && isActive && !disabled; then selectedBlock; else notSelectedBlock\">\n </ng-container>\n <ng-template #selectedBlock>\n <div class=\"pep-file-container one-row\">\n <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\n </div>\n </ng-template>\n <ng-template #notSelectedBlock>\n <div class=\"pep-file-container one-row\">\n <ng-container *ngTemplateOutlet=\"pepReadonlyTemplate; context: { isTableView: true}\">\n </ng-container>\n </div>\n </ng-template>\n </ng-container>\n </ng-container>\n\n <!-- <ng-container *ngIf=\"inDialog === true\">\n <ng-container *ngTemplateOutlet=\"signaturePopupPad\"></ng-container>\n </ng-container> -->\n\n <!-- <div *ngIf=\"inDialog === false\" class=\"signature-backdrop modal\" [ngClass]=\"{ fade: !isVisibleModal }\" tabindex=\"-1\"\n role=\"dialog\" aria-labelledby=\"gridModalLabel\" aria-hidden=\"true\"\n [ngStyle]=\"{ display: isVisibleModal ? 'block' : 'none' }\">\n <div class=\"signature-modal modal-dialog\" role=\"document\">\n <div class=\"modal-content\">\n <ng-container *ngTemplateOutlet=\"signaturePopupPad\"></ng-container>\n </div>\n </div>\n </div> -->\n\n <ng-template #pepReadonlyTemplate let-isTableView=\"isTableView\">\n <div class=\"pep-file-container\">\n <div class=\"pep-file-wrapper\">\n <div class=\"pep-file body-sm disable\">\n <ng-container *ngIf=\"src != ''; then withImg; else noImg\"></ng-container>\n <ng-template #withImg>\n <div class=\"pep-file-preview\" (click)=\"openSignModal()\">\n <img *ngIf=\"!isTableView\" [src]=\"src\" [style.max-height]=\"fieldHeight\"\n class=\"pep-file-preview-img\" (error)=\"errorHandler($event)\" [alt]=\"label\"\n [ngClass]=\"['text-align-' + xAlignment]\" />\n <img *ngIf=\"isTableView\" [src]=\"src\" [style.max-height]=\"fieldHeight\"\n class=\"pep-report-file pep-file-preview-img\" (error)=\"errorHandler($event)\"\n [alt]=\"label\" [ngClass]=\"['text-align-' + xAlignment]\" />\n </div>\n </ng-template>\n <ng-template #noImg></ng-template>\n </div>\n </div>\n </div>\n </ng-template>\n\n <!-- <ng-template #signaturePopupPad>\n <pep-dialog [title]=\"'SIGNATURE.DIALOG_TITLE' | translate\" [showFooter]=\"showActionBtn\" [showClose]=\"true\" (close)=\"closeDialog($event)\">\n <ng-container pep-dialog-content>\n <signature-pad #signaturePad [options]=\"signaturePadOptions\" (onBeginEvent)=\"drawStart()\"\n (onEndEvent)=\"drawComplete()\">\n </signature-pad>\n </ng-container>\n <div pep-dialog-actions class=\"pep-spacing-element-negative\">\n <button mat-button class=\"pep-spacing-element pep-button md weak\" [disabled]=\"readonly || disabled\"\n (click)=\"clearSignModal()\">\n {{ 'ACTIONS.CLEAR' | translate }}\n </button>\n <button mat-button class=\"pep-spacing-element pep-button md strong\" [disabled]=\"readonly || disabled\"\n (click)=\"saveSignModal($event)\">\n {{ 'ACTIONS.DONE' | translate }}\n </button>\n </div>\n </pep-dialog>\n </ng-template> -->\n\n</ng-container>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { MatCommonModule } from '@angular/material/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatDialogModule } from '@angular/material/dialog';\n\nimport { SignaturePadModule } from 'ngx-signaturepad';\n\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport {\n PepIconModule,\n PepIconRegistry,\n pepIconSystemBin,\n pepIconSystemSignature,\n pepIconSystemClose,\n} from '@pepperi-addons/ngx-lib/icon';\nimport { PepFieldTitleModule } from '@pepperi-addons/ngx-lib/field-title';\nimport { PepFilesUploaderModule } from '@pepperi-addons/ngx-lib/files-uploader';\nimport { PepDialogModule } from '@pepperi-addons/ngx-lib/dialog';\n\nimport { PepSignatureComponent } from './signature.component';\nimport { PepSignatureDialogComponent } from './signature-dialog.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n // Material modules\n MatCommonModule,\n MatButtonModule,\n MatFormFieldModule,\n MatInputModule,\n MatIconModule,\n MatDialogModule,\n // External modules\n SignaturePadModule,\n // ngx-lib modules\n PepNgxLibModule,\n PepIconModule,\n PepFieldTitleModule,\n PepFilesUploaderModule,\n PepDialogModule,\n ],\n exports: [PepSignatureComponent, PepSignatureDialogComponent],\n declarations: [PepSignatureComponent, PepSignatureDialogComponent],\n})\nexport class PepSignatureModule {\n constructor(private pepIconRegistry: PepIconRegistry) {\n this.pepIconRegistry.registerIcons([\n pepIconSystemBin,\n pepIconSystemSignature,\n pepIconSystemClose,\n ]);\n }\n}\n","/*\n * Public API Surface of ngx-lib/signature\n */\nexport * from './signature.module';\nexport * from './signature.component';\nexport * from './signature-dialog.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i4","i1","i2","i3","i5","i9","i11"],"mappings":"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"}
|
|
@@ -43,6 +43,7 @@ export declare class PepFilesUploaderComponent implements OnInit {
|
|
|
43
43
|
constructor(dialogService: PepDialogService, customizationService: PepCustomizationService, fileService: PepFileService, translate: TranslateService);
|
|
44
44
|
getFileName(filename: any): any;
|
|
45
45
|
getFileExtension(filename: any): any;
|
|
46
|
+
private setDefaultForm;
|
|
46
47
|
ngOnInit(): void;
|
|
47
48
|
isValidFile(fileStr: any, fileExtension: any, acceptedExtensions: any, sizeLimitMB?: number): string;
|
|
48
49
|
getBase64FileSize(base64String: string): number;
|
package/package.json
CHANGED