@rangertechnologies/ngnxt 2.0.37 → 2.0.39

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.
Files changed (72) hide show
  1. package/README.md +2 -2
  2. package/esm2022/lib/components/custom-date-picker/custom-date-picker.component.mjs +33 -33
  3. package/esm2022/lib/components/custom-dropdown/custom-dropdown.component.mjs +94 -82
  4. package/esm2022/lib/components/custom-input/custom-input.component.mjs +76 -76
  5. package/esm2022/lib/components/custom-table/custom-table.component.mjs +53 -53
  6. package/esm2022/lib/components/custom-text-area/custom-text-area.component.mjs +34 -34
  7. package/esm2022/lib/components/dropdown-with-flag/dropdown-with-flag.component.mjs +34 -34
  8. package/esm2022/lib/components/file-upload/file-upload.component.mjs +110 -159
  9. package/esm2022/lib/components/file-view/file-view.component.mjs +42 -0
  10. package/esm2022/lib/components/pick-location/pick-location.component.mjs +136 -136
  11. package/esm2022/lib/components/search-box/search-box.component.mjs +106 -84
  12. package/esm2022/lib/interfaces/actionMeta.mjs +2 -2
  13. package/esm2022/lib/interfaces/apimeta.mjs +2 -2
  14. package/esm2022/lib/interfaces/dependencyMeta.mjs +2 -2
  15. package/esm2022/lib/model/bookletWrapper.mjs +9 -9
  16. package/esm2022/lib/model/changeWrapper.mjs +8 -8
  17. package/esm2022/lib/model/errorWrapper.mjs +6 -6
  18. package/esm2022/lib/model/tableWrapper.mjs +16 -16
  19. package/esm2022/lib/nxt-app.component.mjs +22 -22
  20. package/esm2022/lib/nxt-app.module.mjs +276 -268
  21. package/esm2022/lib/nxt-app.service.mjs +14 -14
  22. package/esm2022/lib/pages/booklet/booklet.component.mjs +171 -159
  23. package/esm2022/lib/pages/questionbook/questionbook.component.mjs +102 -85
  24. package/esm2022/lib/pages/questionnaire/questionnaire.component.mjs +2066 -2066
  25. package/esm2022/lib/pages/summary-page/summary-page.component.mjs +70 -0
  26. package/esm2022/lib/sample.mjs +432 -432
  27. package/esm2022/lib/services/change.service.mjs +38 -33
  28. package/esm2022/lib/services/data.service.mjs +40 -40
  29. package/esm2022/lib/services/salesforce.service.mjs +46 -46
  30. package/esm2022/lib/services/shared.service.mjs +86 -0
  31. package/esm2022/lib/services/storage.service.mjs +41 -41
  32. package/esm2022/lib/wrapper.mjs +161 -161
  33. package/esm2022/public-api.mjs +11 -10
  34. package/esm2022/rangertechnologies-ngnxt.mjs +4 -4
  35. package/fesm2022/rangertechnologies-ngnxt.mjs +4105 -3899
  36. package/fesm2022/rangertechnologies-ngnxt.mjs.map +1 -1
  37. package/index.d.ts +5 -5
  38. package/lib/components/custom-date-picker/custom-date-picker.component.d.ts +14 -14
  39. package/lib/components/custom-dropdown/custom-dropdown.component.d.ts +29 -26
  40. package/lib/components/custom-input/custom-input.component.d.ts +26 -26
  41. package/lib/components/custom-table/custom-table.component.d.ts +20 -20
  42. package/lib/components/custom-text-area/custom-text-area.component.d.ts +14 -14
  43. package/lib/components/dropdown-with-flag/dropdown-with-flag.component.d.ts +14 -14
  44. package/lib/components/file-upload/file-upload.component.d.ts +24 -23
  45. package/lib/components/file-view/file-view.component.d.ts +14 -0
  46. package/lib/components/pick-location/pick-location.component.d.ts +35 -35
  47. package/lib/components/search-box/search-box.component.d.ts +40 -34
  48. package/lib/interfaces/actionMeta.d.ts +5 -5
  49. package/lib/interfaces/apimeta.d.ts +5 -5
  50. package/lib/interfaces/dependencyMeta.d.ts +5 -5
  51. package/lib/model/bookletWrapper.d.ts +5 -5
  52. package/lib/model/changeWrapper.d.ts +7 -7
  53. package/lib/model/errorWrapper.d.ts +5 -5
  54. package/lib/model/tableWrapper.d.ts +15 -15
  55. package/lib/nxt-app.component.d.ts +8 -8
  56. package/lib/nxt-app.module.d.ts +30 -28
  57. package/lib/nxt-app.service.d.ts +6 -6
  58. package/lib/pages/booklet/booklet.component.d.ts +45 -43
  59. package/lib/pages/questionbook/questionbook.component.d.ts +27 -26
  60. package/lib/pages/questionnaire/questionnaire.component.d.ts +206 -206
  61. package/lib/pages/summary-page/summary-page.component.d.ts +18 -0
  62. package/lib/sample.d.ts +10 -10
  63. package/lib/services/change.service.d.ts +16 -13
  64. package/lib/services/data.service.d.ts +9 -9
  65. package/lib/services/salesforce.service.d.ts +11 -11
  66. package/lib/services/shared.service.d.ts +11 -0
  67. package/lib/services/storage.service.d.ts +12 -12
  68. package/lib/wrapper.d.ts +161 -161
  69. package/package.json +1 -1
  70. package/public-api.d.ts +7 -6
  71. package/rangertechnologies-ngnxt-2.0.39.tgz +0 -0
  72. package/rangertechnologies-ngnxt-2.0.37.tgz +0 -0
@@ -1,159 +1,110 @@
1
- import { Component, Output, EventEmitter, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- export class FileUploadComponent {
5
- selectedFileData = new EventEmitter();
6
- deletedFileData = new EventEmitter();
7
- allFiles;
8
- limitFileUploading;
9
- isDeleteFileButtonVisible;
10
- isShowNoFileIcon;
11
- selectedFileNameArray = [];
12
- copyOfInputAllFiles;
13
- copyOfFileUploadingLimit;
14
- constructor() { }
15
- ngOnInit() { }
16
- onFileUpload(event) {
17
- const fileUploaderElement = document.getElementById('fileUpload');
18
- fileUploaderElement.click();
19
- }
20
- ngOnChanges(simpleChanges) {
21
- console.log('simple changes', simpleChanges);
22
- this.copyOfInputAllFiles = simpleChanges.allFiles?.currentValue;
23
- if (simpleChanges.limitFileUploading) {
24
- this.copyOfFileUploadingLimit = simpleChanges.limitFileUploading?.currentValue;
25
- }
26
- }
27
- uploadMultipleFiles(event) {
28
- console.log('File uploader initiated');
29
- const inputFiles = this.copyOfInputAllFiles ? this.copyOfInputAllFiles : [];
30
- const selectedFileData = [];
31
- const uploadedFiles = event.target.files;
32
- if (uploadedFiles.length + inputFiles.length <= this.copyOfFileUploadingLimit) {
33
- for (const eachUploadedFile of uploadedFiles) {
34
- const reader = new FileReader();
35
- const file = eachUploadedFile;
36
- const format = file.name.split('.')[1];
37
- reader.readAsDataURL(file);
38
- reader.onload = () => {
39
- selectedFileData.push({
40
- doc: reader.result,
41
- name: file.name,
42
- type: file.type,
43
- format,
44
- id: null,
45
- });
46
- inputFiles.push({
47
- doc: reader.result,
48
- name: file.name,
49
- type: file.type,
50
- format,
51
- id: null,
52
- });
53
- };
54
- }
55
- }
56
- else {
57
- console.warn('You can upload max 5 files');
58
- //this.toastr.warning(TOASTER_MESSAGES.MAX_FIVE_FILES, TOASTER_MESSAGES.WARNING_TITLE);
59
- }
60
- event.target.value = '';
61
- this.copyOfInputAllFiles = inputFiles;
62
- console.log('uploadedFiles', inputFiles);
63
- this.selectedFileData.emit(inputFiles);
64
- }
65
- deleteFile(currentFileIndex) {
66
- const deletedFileName = this.selectedFileNameArray.splice(currentFileIndex, 1);
67
- const deletedFile = this.copyOfInputAllFiles.splice(currentFileIndex, 1);
68
- console.log('emit', deletedFile[0]);
69
- this.deletedFileData.emit(deletedFile[0]);
70
- }
71
- // viewFile(currentFile) {
72
- // // Display file here
73
- // if (currentFile && currentFile.doc) {
74
- // this.sharedService.viewFile(currentFile.doc.split('/').pop()).subscribe((apiResponse: any) => {
75
- // if (apiResponse && apiResponse.sas_url) {
76
- // window.open(apiResponse.sas_url, '_blank');
77
- // }
78
- // }, (apiError) => {
79
- // this.toastr.warning('Error while viewing file', 'Warning');
80
- // });
81
- // }
82
- // }
83
- getDocIcon(docName) {
84
- const ext = docName.split('.').pop(-1);
85
- return this.docIcon(ext);
86
- }
87
- docIcon(ext) {
88
- if (ext === 'pdf') {
89
- return 'assets/icons/document/img-file-PDF.png';
90
- }
91
- else if (ext === 'xlsx') {
92
- return 'assets/icons/document/img-file-XLSX.png';
93
- }
94
- else if (ext === 'docx') {
95
- return 'assets/icons/document/img-file-DOCX.png';
96
- }
97
- else if (ext === 'avi') {
98
- return 'assets/icons/document/img-file-AVI.png';
99
- }
100
- else if (ext === 'doc') {
101
- return 'assets/icons/document/img-file-DOC.png';
102
- }
103
- else if (ext === 'gif') {
104
- return 'assets/icons/document/img-file-GIF.png';
105
- }
106
- else if (ext === 'jpg') {
107
- return 'assets/icons/document/img-file-JPG.png';
108
- }
109
- else if (ext === 'mov') {
110
- return 'assets/icons/document/img-file-MOV.png';
111
- }
112
- else if (ext === 'mp3') {
113
- return 'assets/icons/document/img-file-MP3.png';
114
- }
115
- else if (ext === 'mp4') {
116
- return 'assets/icons/document/img-file-MP4.png';
117
- }
118
- else if (ext === 'mpeg') {
119
- return 'assets/icons/document/img-file-MPEG.png';
120
- }
121
- else if (ext === 'mpg') {
122
- return 'assets/icons/document/img-file-MPG.png';
123
- }
124
- else if (ext === 'png') {
125
- return 'assets/icons/document/img-file-PNG.png';
126
- }
127
- else if (ext === 'ppt') {
128
- return 'assets/icons/document/img-file-PPT.png';
129
- }
130
- else if (ext === 'txt') {
131
- return 'projects/nxt-app/src/assets/icons/document/img-file-TXT.png';
132
- }
133
- else if (ext === 'xls') {
134
- return 'assets/icons/document/img-file-XLS.png';
135
- }
136
- else {
137
- return 'assets/images/ic_document.svg';
138
- }
139
- }
140
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FileUploadComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
141
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: FileUploadComponent, selector: "app-file-upload", inputs: { allFiles: "allFiles", limitFileUploading: "limitFileUploading", isDeleteFileButtonVisible: "isDeleteFileButtonVisible", isShowNoFileIcon: "isShowNoFileIcon" }, outputs: { selectedFileData: "selectedFileData", deletedFileData: "deletedFileData" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"row\" style=\"margin: 0;\">\r\n <div class=\"col-md-12\" *ngIf=\"!isDeleteFileButtonVisible\" style=\"text-align: left;\">\r\n <label class=\"she-label\">Attachment</label>\r\n </div>\r\n <div class=\"col-lg-3 document-cnt m-t-10 m-b-10 hover-pointer\"\r\n *ngFor=\"let eachFile of copyOfInputAllFiles; let currentFileIndex = index\">\r\n <div class=\"row\"> <!-- (click)=\"viewFile(eachFile)\" -->\r\n <div class=\"col-lg-3 document_image\">\r\n <img [src]=\"getDocIcon(eachFile?.name)\" style=\"margin-right: 10px;height: 40px;\">\r\n </div>\r\n <div class=\"col-lg-9 document_name\">\r\n {{eachFile?.name}}\r\n </div>\r\n <div class=\"document_delete\" (click)=\"deleteFile(currentFileIndex);$event.stopPropagation()\" *ngIf=\"isDeleteFileButtonVisible\">\r\n <img src=\"assets/images/bin.svg\">\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-12 m-b-30 text-center\" *ngIf=\"copyOfInputAllFiles?.length === 0 && isShowNoFileIcon\">\r\n <img src=\"../../../assets/images/ic_no_attachments.svg\" style=\"height: 140px;\">\r\n </div>\r\n</div>\r\n\r\n<div class=\"col-lg-6\" style=\"padding:0;margin-top: 10px;\">\r\n <label class=\"custom-file\" *ngIf=\"isDeleteFileButtonVisible\">\r\n <button class=\"she-btn-primary-bordered\" style=\"width:275px;\" (click)=\"onFileUpload($event)\"\r\n [ngClass]=\"{ 'btn-disabled': copyOfInputAllFiles?.length >= copyOfFileUploadingLimit }\" [disabled]=\"copyOfInputAllFiles?.length >= copyOfFileUploadingLimit\"\r\n >Choose\r\n files</button>\r\n\r\n <input id='fileUpload' type=\"file\" id=\"fileUpload\" name=\"fileUpload\" multiple=\"multiple\" accept=\"*\" style=\"display:none;\"\r\n (change) = uploadMultipleFiles($event)\r\n />\r\n </label>\r\n <!-- <span class=\"error-msg\" *ngIf=\"(formControl?.documents?.touched || formControl?.documents?.dirty) &&\r\n formControl?.documents?.errors?.required\">\r\n {{LM_POLICY_VALIDATION_MESSAGE.REQUIRED}}\r\n </span> -->\r\n</div>\r\n", styles: [".nav.nav-tabs+.tab-content{background:transparent}.row_cnt_folder{background:#fff;padding:50px 30px}.row-recent-file{border-top:1px solid #EBEBEB;padding:20px 0;cursor:pointer}p{margin-bottom:0}.floating_button{position:fixed;right:20px;bottom:20px;z-index:10;cursor:pointer}.floating_button img{height:60px}.form-cnt{background:#ffffff;padding:40px;border:1px solid #e8e8e8;border-bottom-left-radius:5px;border-bottom-right-radius:5px}.section-header{padding:15px;background:#F8F8F8;color:#898989;border:1px solid #e8e8e8;border-top-left-radius:5px;border-top-right-radius:5px}.document-cnt{border:1px solid #48B7FF;border-radius:5px;margin-right:30px;margin-top:10px}.document_image{background:#48B7FF66;padding:10px}.document_name{padding:15px 5px;overflow:hidden}.document_delete{position:absolute;background:#C20808;display:block;height:30px;width:30px;border-radius:50px;bottom:32px;right:-15px;cursor:pointer}.document_delete img{position:relative;left:8px;top:3px}.btn-disabled{background:#e1e1e1;color:#fff;border:none;border-radius:5px;height:50px}.form-control[disabled]{border-radius:5px}.custom-file{color:#9a9a9a;font-size:14px;font-weight:400;display:inline-block;width:auto;margin-bottom:5px}.she-btn-primary-bordered{background:#ffffff;color:#48b7ff;border:1px solid #48B7FF;border-radius:5px;height:50px;outline:none!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
142
- }
143
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FileUploadComponent, decorators: [{
144
- type: Component,
145
- args: [{ selector: 'app-file-upload', template: "<div class=\"row\" style=\"margin: 0;\">\r\n <div class=\"col-md-12\" *ngIf=\"!isDeleteFileButtonVisible\" style=\"text-align: left;\">\r\n <label class=\"she-label\">Attachment</label>\r\n </div>\r\n <div class=\"col-lg-3 document-cnt m-t-10 m-b-10 hover-pointer\"\r\n *ngFor=\"let eachFile of copyOfInputAllFiles; let currentFileIndex = index\">\r\n <div class=\"row\"> <!-- (click)=\"viewFile(eachFile)\" -->\r\n <div class=\"col-lg-3 document_image\">\r\n <img [src]=\"getDocIcon(eachFile?.name)\" style=\"margin-right: 10px;height: 40px;\">\r\n </div>\r\n <div class=\"col-lg-9 document_name\">\r\n {{eachFile?.name}}\r\n </div>\r\n <div class=\"document_delete\" (click)=\"deleteFile(currentFileIndex);$event.stopPropagation()\" *ngIf=\"isDeleteFileButtonVisible\">\r\n <img src=\"assets/images/bin.svg\">\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-12 m-b-30 text-center\" *ngIf=\"copyOfInputAllFiles?.length === 0 && isShowNoFileIcon\">\r\n <img src=\"../../../assets/images/ic_no_attachments.svg\" style=\"height: 140px;\">\r\n </div>\r\n</div>\r\n\r\n<div class=\"col-lg-6\" style=\"padding:0;margin-top: 10px;\">\r\n <label class=\"custom-file\" *ngIf=\"isDeleteFileButtonVisible\">\r\n <button class=\"she-btn-primary-bordered\" style=\"width:275px;\" (click)=\"onFileUpload($event)\"\r\n [ngClass]=\"{ 'btn-disabled': copyOfInputAllFiles?.length >= copyOfFileUploadingLimit }\" [disabled]=\"copyOfInputAllFiles?.length >= copyOfFileUploadingLimit\"\r\n >Choose\r\n files</button>\r\n\r\n <input id='fileUpload' type=\"file\" id=\"fileUpload\" name=\"fileUpload\" multiple=\"multiple\" accept=\"*\" style=\"display:none;\"\r\n (change) = uploadMultipleFiles($event)\r\n />\r\n </label>\r\n <!-- <span class=\"error-msg\" *ngIf=\"(formControl?.documents?.touched || formControl?.documents?.dirty) &&\r\n formControl?.documents?.errors?.required\">\r\n {{LM_POLICY_VALIDATION_MESSAGE.REQUIRED}}\r\n </span> -->\r\n</div>\r\n", styles: [".nav.nav-tabs+.tab-content{background:transparent}.row_cnt_folder{background:#fff;padding:50px 30px}.row-recent-file{border-top:1px solid #EBEBEB;padding:20px 0;cursor:pointer}p{margin-bottom:0}.floating_button{position:fixed;right:20px;bottom:20px;z-index:10;cursor:pointer}.floating_button img{height:60px}.form-cnt{background:#ffffff;padding:40px;border:1px solid #e8e8e8;border-bottom-left-radius:5px;border-bottom-right-radius:5px}.section-header{padding:15px;background:#F8F8F8;color:#898989;border:1px solid #e8e8e8;border-top-left-radius:5px;border-top-right-radius:5px}.document-cnt{border:1px solid #48B7FF;border-radius:5px;margin-right:30px;margin-top:10px}.document_image{background:#48B7FF66;padding:10px}.document_name{padding:15px 5px;overflow:hidden}.document_delete{position:absolute;background:#C20808;display:block;height:30px;width:30px;border-radius:50px;bottom:32px;right:-15px;cursor:pointer}.document_delete img{position:relative;left:8px;top:3px}.btn-disabled{background:#e1e1e1;color:#fff;border:none;border-radius:5px;height:50px}.form-control[disabled]{border-radius:5px}.custom-file{color:#9a9a9a;font-size:14px;font-weight:400;display:inline-block;width:auto;margin-bottom:5px}.she-btn-primary-bordered{background:#ffffff;color:#48b7ff;border:1px solid #48B7FF;border-radius:5px;height:50px;outline:none!important}\n"] }]
146
- }], ctorParameters: function () { return []; }, propDecorators: { selectedFileData: [{
147
- type: Output
148
- }], deletedFileData: [{
149
- type: Output
150
- }], allFiles: [{
151
- type: Input
152
- }], limitFileUploading: [{
153
- type: Input
154
- }], isDeleteFileButtonVisible: [{
155
- type: Input
156
- }], isShowNoFileIcon: [{
157
- type: Input
158
- }] } });
159
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS11cGxvYWQvZmlsZS11cGxvYWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS11cGxvYWQvZmlsZS11cGxvYWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBUyxNQUFNLEVBQUMsWUFBWSxFQUFFLEtBQUssRUFBc0MsTUFBTSxlQUFlLENBQUM7OztBQU1qSCxNQUFNLE9BQU8sbUJBQW1CO0lBQ3BCLGdCQUFnQixHQUFHLElBQUksWUFBWSxFQUFTLENBQUM7SUFDN0MsZUFBZSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDM0MsUUFBUSxDQUFDO0lBQ1Qsa0JBQWtCLENBQUM7SUFDbkIseUJBQXlCLENBQUM7SUFDMUIsZ0JBQWdCLENBQUM7SUFFbkIscUJBQXFCLEdBQWEsRUFBRSxDQUFDO0lBQ3JDLG1CQUFtQixDQUFDO0lBQ3BCLHdCQUF3QixDQUFDO0lBQ2hDLGdCQUNJLENBQUM7SUFFTCxRQUFRLEtBQUssQ0FBQztJQUVkLFlBQVksQ0FBQyxLQUFVO1FBQ3JCLE1BQU0sbUJBQW1CLEdBQWdCLFFBQVEsQ0FBQyxjQUFjLENBQzlELFlBQVksQ0FDRSxDQUFDO1FBQ2pCLG1CQUFtQixDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxXQUFXLENBQUMsYUFBNEI7UUFDdEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsYUFBYSxDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUM7UUFDaEUsSUFBSSxhQUFhLENB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QUU7WUFDeEIsT0FBTyx3Q0FBd0MsQ0FBQztTQUNqRDthQUFNLElBQUksR0FBRyxLQUFLLEtBQUssRUFBRTtZQUN4QixPQUFPLHdDQUF3QyxDQUFDO1NBQ2pEO2FBQU0sSUFBSSxHQUFHLEtBQUssS0FBSyxFQUFFO1lBQ3hCLE9BQU8sNkRBQTZELENBQUM7U0FDdEU7YUFBTSxJQUFJLEdBQUcsS0FBSyxLQUFLLEVBQUU7WUFDeEIsT0FBTyx3Q0FBd0MsQ0FBQztTQUNqRDthQUFNO1lBQ0wsT0FBTywrQkFBK0IsQ0FBQztTQUN4QztJQUNILENBQUM7d0dBcElVLG1CQUFtQjs0RkFBbkIsbUJBQW1CLDZVQ05oQywyZ0VBdUNBOzs0RkRqQ2EsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLGlCQUFpQjswRUFLakIsZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUNHLGVBQWU7c0JBQXhCLE1BQU07Z0JBQ0UsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0cseUJBQXlCO3NCQUFqQyxLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LE91dHB1dCxFdmVudEVtaXR0ZXIsIElucHV0ICxFbGVtZW50UmVmLCBPbkNoYW5nZXMsU2ltcGxlQ2hhbmdlc30gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWZpbGUtdXBsb2FkJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZmlsZS11cGxvYWQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRmlsZVVwbG9hZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCxPbkNoYW5nZXMge1xyXG4gIEBPdXRwdXQoKSBzZWxlY3RlZEZpbGVEYXRhID0gbmV3IEV2ZW50RW1pdHRlcjxhbnlbXT4oKTtcclxuICBAT3V0cHV0KCkgZGVsZXRlZEZpbGVEYXRhID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQElucHV0KCkgYWxsRmlsZXM7XHJcbiAgQElucHV0KCkgbGltaXRGaWxlVXBsb2FkaW5nO1xyXG4gIEBJbnB1dCgpIGlzRGVsZXRlRmlsZUJ1dHRvblZpc2libGU7XHJcbiAgQElucHV0KCkgaXNTaG93Tm9GaWxlSWNvbjtcclxuXHJcbiAgcHVibGljIHNlbGVjdGVkRmlsZU5hbWVBcnJheTogc3RyaW5nW10gPSBbXTtcclxuICBwdWJsaWMgY29weU9mSW5wdXRBbGxGaWxlcztcclxuICBwdWJsaWMgY29weU9mRmlsZVVwbG9hZGluZ0xpbWl0O1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkgeyB9XHJcblxyXG4gIG9uRmlsZVVwbG9hZChldmVudDogYW55KSB7XHJcbiAgICBjb25zdCBmaWxlVXBsb2FkZXJFbGVtZW50OiBIVE1MRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFxyXG4gICAgICAnZmlsZVVwbG9hZCdcclxuICAgICkgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICBmaWxlVXBsb2FkZXJFbGVtZW50LmNsaWNrKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhzaW1wbGVDaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBjb25zb2xlLmxvZygnc2ltcGxlIGNoYW5nZXMnLCBzaW1wbGVDaGFuZ2VzKTtcclxuICAgIHRoaXMuY29weU9mSW5wdXRBbGxGaWxlcyA9IHNpbXBsZUNoYW5nZXMuYWxsRmlsZXM/LmN1cnJlbnRWYWx1ZTtcclxuICAgIGlmIChzaW1wbGVDaGFuZ2VzLmxpbWl0RmlsZVVwbG9hZGluZykge1xyXG4gICAgICB0aGlzLmNvcHlPZkZpbGVVcGxvYWRpbmdMaW1pdCA9IHNpbXBsZUNoYW5nZXMubGltaXRGaWxlVXBsb2FkaW5nPy5jdXJyZW50VmFsdWU7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgdXBsb2FkTXVsdGlwbGVGaWxlcyhldmVudDogYW55KSB7XHJcbiAgICBjb25zb2xlLmxvZygnRmlsZSB1cGxvYWRlciBpbml0aWF0ZWQnKTtcclxuICAgIGNvbnN0IGlucHV0RmlsZXM6IGFueVtdID0gdGhpcy5jb3B5T2ZJbnB1dEFsbEZpbGVzID8gdGhpcy5jb3B5T2ZJbnB1dEFsbEZpbGVzIDogW107XHJcbiAgICBjb25zdCBzZWxlY3RlZEZpbGVEYXRhID0gW107XHJcbiAgICBjb25zdCB1cGxvYWRlZEZpbGVzID0gZXZlbnQudGFyZ2V0LmZpbGVzO1xyXG4gICAgaWYgKHVwbG9hZGVkRmlsZXMubGVuZ3RoICsgaW5wdXRGaWxlcy5sZW5ndGggPD0gdGhpcy5jb3B5T2ZGaWxlVXBsb2FkaW5nTGltaXQpIHtcclxuICAgICAgZm9yIChjb25zdCBlYWNoVXBsb2FkZWRGaWxlIG9mIHVwbG9hZGVkRmlsZXMpIHtcclxuICAgICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xyXG4gICAgICAgIGNvbnN0IGZpbGU6IEZpbGUgPSBlYWNoVXBsb2FkZWRGaWxlO1xyXG4gICAgICAgIGNvbnN0IGZvcm1hdCA9IGZpbGUubmFtZS5zcGxpdCgnLicpWzFdO1xyXG4gICAgICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUpO1xyXG4gICAgICAgIHJlYWRlci5vbmxvYWQgPSAoKSA9PiB7XHJcbiAgICAgICAgICBzZWxlY3RlZEZpbGVEYXRhLnB1c2goe1xyXG4gICAgICAgICAgICBkb2M6IHJlYWRlci5yZXN1bHQsXHJcbiAgICAgICAgICAgIG5hbWU6IGZpbGUubmFtZSxcclxuICAgICAgICAgICAgdHlwZTogZmlsZS50eXBlLFxyXG4gICAgICAgICAgICBmb3JtYXQsXHJcbiAgICAgICAgICAgIGlkOiBudWxsLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICBpbnB1dEZpbGVzLnB1c2goe1xyXG4gICAgICAgICAgICBkb2M6IHJlYWRlci5yZXN1bHQsXHJcbiAgICAgICAgICAgIG5hbWU6IGZpbGUubmFtZSxcclxuICAgICAgICAgICAgdHlwZTogZmlsZS50eXBlLFxyXG4gICAgICAgICAgICBmb3JtYXQsXHJcbiAgICAgICAgICAgIGlkOiBudWxsLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc29sZS53YXJuKCdZb3UgY2FuIHVwbG9hZCBtYXggNSBmaWxlcycpO1xyXG4gICAgICAvL3RoaXMudG9hc3RyLndhcm5pbmcoVE9BU1RFUl9NRVNTQUdFUy5NQVhfRklWRV9GSUxFUywgVE9BU1RFUl9NRVNTQUdFUy5XQVJOSU5HX1RJVExFKTtcclxuICAgIH1cclxuICAgIGV2ZW50LnRhcmdldC52YWx1ZSA9ICcnO1xyXG4gICAgdGhpcy5jb3B5T2ZJbnB1dEFsbEZpbGVzID0gaW5wdXRGaWxlcztcclxuICAgIGNvbnNvbGUubG9nKCd1cGxvYWRlZEZpbGVzJyxpbnB1dEZpbGVzKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRGaWxlRGF0YS5lbWl0KGlucHV0RmlsZXMpO1xyXG4gIH1cclxuXHJcblxyXG4gIGRlbGV0ZUZpbGUoY3VycmVudEZpbGVJbmRleCkge1xyXG4gICAgICAgIGNvbnN0IGRlbGV0ZWRGaWxlTmFtZSA9IHRoaXMuc2VsZWN0ZWRGaWxlTmFtZUFycmF5LnNwbGljZShjdXJyZW50RmlsZUluZGV4LCAxKTtcclxuICAgICAgICBjb25zdCBkZWxldGVkRmlsZSA9IHRoaXMuY29weU9mSW5wdXRBbGxGaWxlcy5zcGxpY2UoY3VycmVudEZpbGVJbmRleCwgMSk7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ2VtaXQnLCBkZWxldGVkRmlsZVswXSk7XHJcbiAgICAgICAgdGhpcy5kZWxldGVkRmlsZURhdGEuZW1pdChkZWxldGVkRmlsZVswXSk7XHJcbiAgfVxyXG5cclxuICAvLyB2aWV3RmlsZShjdXJyZW50RmlsZSkge1xyXG4gIC8vICAgLy8gRGlzcGxheSBmaWxlIGhlcmVcclxuICAvLyAgIGlmIChjdXJyZW50RmlsZSAmJiBjdXJyZW50RmlsZS5kb2MpIHtcclxuICAvLyAgICAgdGhpcy5zaGFyZWRTZXJ2aWNlLnZpZXdGaWxlKGN1cnJlbnRGaWxlLmRvYy5zcGxpdCgnLycpLnBvcCgpKS5zdWJzY3JpYmUoKGFwaVJlc3BvbnNlOiBhbnkpID0+IHtcclxuICAvLyAgICAgICBpZiAoYXBpUmVzcG9uc2UgJiYgYXBpUmVzcG9uc2Uuc2FzX3VybCkge1xyXG4gIC8vICAgICAgICAgd2luZG93Lm9wZW4oYXBpUmVzcG9uc2Uuc2FzX3VybCwgJ19ibGFuaycpO1xyXG4gIC8vICAgICAgIH1cclxuICAvLyAgICAgfSwgKGFwaUVycm9yKSA9PiB7XHJcbiAgLy8gICAgICAgdGhpcy50b2FzdHIud2FybmluZygnRXJyb3Igd2hpbGUgdmlld2luZyBmaWxlJywgJ1dhcm5pbmcnKTtcclxuICAvLyAgICAgfSk7XHJcbiAgLy8gICB9XHJcbiAgLy8gfVxyXG5cclxuICBnZXREb2NJY29uKGRvY05hbWUpIHtcclxuICAgIGNvbnN0IGV4dCA9IGRvY05hbWUuc3BsaXQoJy4nKS5wb3AoLTEpO1xyXG4gICAgcmV0dXJuIHRoaXMuZG9jSWNvbihleHQpO1xyXG4gIH1cclxuXHJcbiBkb2NJY29uKGV4dCkge1xyXG4gICAgaWYgKGV4dCA9PT0gJ3BkZicpIHtcclxuICAgICAgcmV0dXJuICdhc3NldHMvaWNvbnMvZG9jdW1lbnQvaW1nLWZpbGUtUERGLnBuZyc7XHJcbiAgICB9IGVsc2UgaWYgKGV4dCA9PT0gJ3hsc3gnKSB7XHJcbiAgICAgIHJldHVybiAnYXNzZXRzL2ljb25zL2RvY3VtZW50L2ltZy1maWxlLVhMU1gucG5nJztcclxuICAgIH0gZWxzZSBpZiAoZXh0ID09PSAnZG9jeCcpIHtcclxuICAgICAgcmV0dXJuICdhc3NldHMvaWNvbnMvZG9jdW1lbnQvaW1nLWZpbGUtRE9DWC5wbmcnO1xyXG4gICAgfSBlbHNlIGlmIChleHQgPT09ICdhdmknKSB7XHJcbiAgICAgIHJldHVybiAnYXNzZXRzL2ljb25zL2RvY3VtZW50L2ltZy1maWxlLUFWSS5wbmcnO1xyXG4gICAgfSBlbHNlIGlmIChleHQgPT09ICdkb2MnKSB7XHJcbiAgICAgIHJldHVybiAnYXNzZXRzL2ljb25zL2RvY3VtZW50L2ltZy1maWxlLURPQy5wbmcnO1xyXG4gICAgfSBlbHNlIGlmIChleHQgPT09ICdnaWYnKSB7XHJcbiAgICAgIHJldHVybiAnYXNzZXRzL2ljb25zL2RvY3VtZW50L2ltZy1maWxlLUdJRi5wbmcnO1xyXG4gICAgfSBlbHNlIGlmIChleHQgPT09ICdqcGcnKSB7XHJcbiAgICAgIHJldHVybiAnYXNzZXRzL2ljb25zL2RvY3VtZW50L2ltZy1maWxlLUpQRy5wbmcnO1xyXG4gICAgfSBlbHNlIGlmIChleHQgPT09ICdtb3YnKSB7XHJcbiAgICAgIHJldHVybiAnYXNzZXRzL2ljb25zL2RvY3VtZW50L2ltZy1maWxlLU1PVi5wbmcnO1xyXG4gICAgfSBlbHNlIGlmIChleHQgPT09ICdtcDMnKSB7XHJcbiAgICAgIHJldHVybiAnYXNzZXRzL2ljb25zL2RvY3VtZW50L2ltZy1maWxlLU1QMy5wbmcnO1xyXG4gICAgfSBlbHNlIGlmIChleHQgPT09ICdtcDQnKSB7XHJcbiAgICAgIHJldHVybiAnYXNzZXRzL2ljb25zL2RvY3VtZW50L2ltZy1maWxlLU1QNC5wbmcnO1xyXG4gICAgfSBlbHNlIGlmIChleHQgPT09ICdtcGVnJykge1xyXG4gICAgICByZXR1cm4gJ2Fzc2V0cy9pY29ucy9kb2N1bWVudC9pbWctZmlsZS1NUEVHLnBuZyc7XHJcbiAgICB9IGVsc2UgaWYgKGV4dCA9PT0gJ21wZycpIHtcclxuICAgICAgcmV0dXJuICdhc3NldHMvaWNvbnMvZG9jdW1lbnQvaW1nLWZpbGUtTVBHLnBuZyc7XHJcbiAgICB9IGVsc2UgaWYgKGV4dCA9PT0gJ3BuZycpIHtcclxuICAgICAgcmV0dXJuICdhc3NldHMvaWNvbnMvZG9jdW1lbnQvaW1nLWZpbGUtUE5HLnBuZyc7XHJcbiAgICB9IGVsc2UgaWYgKGV4dCA9PT0gJ3BwdCcpIHtcclxuICAgICAgcmV0dXJuICdhc3NldHMvaWNvbnMvZG9jdW1lbnQvaW1nLWZpbGUtUFBULnBuZyc7XHJcbiAgICB9IGVsc2UgaWYgKGV4dCA9PT0gJ3R4dCcpIHtcclxuICAgICAgcmV0dXJuICdwcm9qZWN0cy9ueHQtYXBwL3NyYy9hc3NldHMvaWNvbnMvZG9jdW1lbnQvaW1nLWZpbGUtVFhULnBuZyc7XHJcbiAgICB9IGVsc2UgaWYgKGV4dCA9PT0gJ3hscycpIHtcclxuICAgICAgcmV0dXJuICdhc3NldHMvaWNvbnMvZG9jdW1lbnQvaW1nLWZpbGUtWExTLnBuZyc7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gJ2Fzc2V0cy9pbWFnZXMvaWNfZG9jdW1lbnQuc3ZnJztcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInJvd1wiIHN0eWxlPVwibWFyZ2luOiAwO1wiPlxyXG4gIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIiAqbmdJZj1cIiFpc0RlbGV0ZUZpbGVCdXR0b25WaXNpYmxlXCIgc3R5bGU9XCJ0ZXh0LWFsaWduOiBsZWZ0O1wiPlxyXG4gICAgPGxhYmVsIGNsYXNzPVwic2hlLWxhYmVsXCI+QXR0YWNobWVudDwvbGFiZWw+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImNvbC1sZy0zIGRvY3VtZW50LWNudCBtLXQtMTAgbS1iLTEwIGhvdmVyLXBvaW50ZXJcIlxyXG4gICAgKm5nRm9yPVwibGV0IGVhY2hGaWxlIG9mIGNvcHlPZklucHV0QWxsRmlsZXM7IGxldCBjdXJyZW50RmlsZUluZGV4ID0gaW5kZXhcIj5cclxuICAgICA8ZGl2IGNsYXNzPVwicm93XCI+IDwhLS0gKGNsaWNrKT1cInZpZXdGaWxlKGVhY2hGaWxlKVwiICAtLT5cclxuICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0zIGRvY3VtZW50X2ltYWdlXCI+XHJcbiAgICAgICAgPGltZyBbc3JjXT1cImdldERvY0ljb24oZWFjaEZpbGU/Lm5hbWUpXCIgc3R5bGU9XCJtYXJnaW4tcmlnaHQ6IDEwcHg7aGVpZ2h0OiA0MHB4O1wiPlxyXG4gICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctOSBkb2N1bWVudF9uYW1lXCI+XHJcbiAgICAgICAge3tlYWNoRmlsZT8ubmFtZX19XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZG9jdW1lbnRfZGVsZXRlXCIgKGNsaWNrKT1cImRlbGV0ZUZpbGUoY3VycmVudEZpbGVJbmRleCk7JGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCIgKm5nSWY9XCJpc0RlbGV0ZUZpbGVCdXR0b25WaXNpYmxlXCI+XHJcbiAgICAgICAgPGltZyBzcmM9XCJhc3NldHMvaW1hZ2VzL2Jpbi5zdmdcIj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIG0tYi0zMCB0ZXh0LWNlbnRlclwiICpuZ0lmPVwiY29weU9mSW5wdXRBbGxGaWxlcz8ubGVuZ3RoID09PSAwICYmIGlzU2hvd05vRmlsZUljb25cIj5cclxuICAgIDxpbWcgc3JjPVwiLi4vLi4vLi4vYXNzZXRzL2ltYWdlcy9pY19ub19hdHRhY2htZW50cy5zdmdcIiBzdHlsZT1cImhlaWdodDogMTQwcHg7XCI+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiBjbGFzcz1cImNvbC1sZy02XCIgc3R5bGU9XCJwYWRkaW5nOjA7bWFyZ2luLXRvcDogMTBweDtcIj5cclxuICA8bGFiZWwgY2xhc3M9XCJjdXN0b20tZmlsZVwiICpuZ0lmPVwiaXNEZWxldGVGaWxlQnV0dG9uVmlzaWJsZVwiPlxyXG4gICAgPGJ1dHRvbiBjbGFzcz1cInNoZS1idG4tcHJpbWFyeS1ib3JkZXJlZFwiIHN0eWxlPVwid2lkdGg6Mjc1cHg7XCIgKGNsaWNrKT1cIm9uRmlsZVVwbG9hZCgkZXZlbnQpXCJcclxuICAgIFtuZ0NsYXNzXT1cInsgJ2J0bi1kaXNhYmxlZCc6IGNvcHlPZklucHV0QWxsRmlsZXM/Lmxlbmd0aCA+PSBjb3B5T2ZGaWxlVXBsb2FkaW5nTGltaXQgfVwiIFtkaXNhYmxlZF09XCJjb3B5T2ZJbnB1dEFsbEZpbGVzPy5sZW5ndGggPj0gY29weU9mRmlsZVVwbG9hZGluZ0xpbWl0XCJcclxuICAgID5DaG9vc2VcclxuICAgICAgZmlsZXM8L2J1dHRvbj5cclxuXHJcbiAgICA8aW5wdXQgaWQ9J2ZpbGVVcGxvYWQnIHR5cGU9XCJmaWxlXCIgaWQ9XCJmaWxlVXBsb2FkXCIgbmFtZT1cImZpbGVVcGxvYWRcIiBtdWx0aXBsZT1cIm11bHRpcGxlXCIgYWNjZXB0PVwiKlwiIHN0eWxlPVwiZGlzcGxheTpub25lO1wiXHJcbiAgICAoY2hhbmdlKSA9IHVwbG9hZE11bHRpcGxlRmlsZXMoJGV2ZW50KVxyXG4gICAgLz5cclxuICA8L2xhYmVsPlxyXG4gIDwhLS0gPHNwYW4gY2xhc3M9XCJlcnJvci1tc2dcIiAqbmdJZj1cIihmb3JtQ29udHJvbD8uZG9jdW1lbnRzPy50b3VjaGVkIHx8ICAgICAgICBmb3JtQ29udHJvbD8uZG9jdW1lbnRzPy5kaXJ0eSkgJiZcclxuICBmb3JtQ29udHJvbD8uZG9jdW1lbnRzPy5lcnJvcnM/LnJlcXVpcmVkXCI+XHJcbiAgICB7e0xNX1BPTElDWV9WQUxJREFUSU9OX01FU1NBR0UuUkVRVUlSRUR9fVxyXG4gIDwvc3Bhbj4gLS0+XHJcbjwvZGl2PlxyXG4iXX0=
1
+ import { Component, Output, EventEmitter, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../../services/shared.service";
4
+ import * as i2 from "@angular/common";
5
+ export class FileUploadComponent {
6
+ SharedService;
7
+ selectedFileData = new EventEmitter();
8
+ deletedFileData = new EventEmitter();
9
+ allFiles;
10
+ limitFileUploading;
11
+ isDeleteFileButtonVisible;
12
+ isShowNoFileIcon;
13
+ selectedFileNameArray = [];
14
+ copyOfInputAllFiles;
15
+ copyOfFileUploadingLimit;
16
+ constructor(SharedService) {
17
+ this.SharedService = SharedService;
18
+ }
19
+ ngOnInit() { }
20
+ onFileUpload(event) {
21
+ const fileUploaderElement = document.getElementById('fileUpload');
22
+ fileUploaderElement.click();
23
+ }
24
+ ngOnChanges(simpleChanges) {
25
+ console.log('simple changes', simpleChanges);
26
+ this.copyOfInputAllFiles = simpleChanges.allFiles?.currentValue;
27
+ if (simpleChanges.limitFileUploading) {
28
+ this.copyOfFileUploadingLimit = simpleChanges.limitFileUploading?.currentValue;
29
+ }
30
+ }
31
+ uploadMultipleFiles(event) {
32
+ console.log('File uploader initiated');
33
+ const inputFiles = this.copyOfInputAllFiles ? this.copyOfInputAllFiles : [];
34
+ const selectedFileData = [];
35
+ const uploadedFiles = event.target.files;
36
+ if (uploadedFiles.length + inputFiles.length <= this.copyOfFileUploadingLimit) {
37
+ for (const eachUploadedFile of uploadedFiles) {
38
+ const reader = new FileReader();
39
+ const file = eachUploadedFile;
40
+ const format = file.name.split('.')[1];
41
+ reader.readAsDataURL(file);
42
+ reader.onload = () => {
43
+ selectedFileData.push({
44
+ doc: reader.result,
45
+ name: file.name,
46
+ type: file.type,
47
+ format,
48
+ id: null,
49
+ });
50
+ inputFiles.push({
51
+ doc: reader.result,
52
+ name: file.name,
53
+ type: file.type,
54
+ format,
55
+ id: null,
56
+ });
57
+ };
58
+ }
59
+ }
60
+ else {
61
+ console.warn('You can upload max 5 files');
62
+ //this.toastr.warning(TOASTER_MESSAGES.MAX_FIVE_FILES, TOASTER_MESSAGES.WARNING_TITLE);
63
+ }
64
+ event.target.value = '';
65
+ this.copyOfInputAllFiles = inputFiles;
66
+ console.log('uploadedFiles', inputFiles);
67
+ this.selectedFileData.emit(inputFiles);
68
+ }
69
+ deleteFile(currentFileIndex) {
70
+ const deletedFileName = this.selectedFileNameArray.splice(currentFileIndex, 1);
71
+ const deletedFile = this.copyOfInputAllFiles.splice(currentFileIndex, 1);
72
+ console.log('emit', deletedFile[0]);
73
+ this.deletedFileData.emit(deletedFile[0]);
74
+ }
75
+ // viewFile(currentFile) {
76
+ // // Display file here
77
+ // if (currentFile && currentFile.doc) {
78
+ // this.sharedService.viewFile(currentFile.doc.split('/').pop()).subscribe((apiResponse: any) => {
79
+ // if (apiResponse && apiResponse.sas_url) {
80
+ // window.open(apiResponse.sas_url, '_blank');
81
+ // }
82
+ // }, (apiError) => {
83
+ // this.toastr.warning('Error while viewing file', 'Warning');
84
+ // });
85
+ // }
86
+ // }
87
+ getDocIcon(docName) {
88
+ const ext = docName.split('.').pop(-1);
89
+ return this.SharedService.docIcon(ext);
90
+ }
91
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FileUploadComponent, deps: [{ token: i1.SharedService }], target: i0.ɵɵFactoryTarget.Component });
92
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: FileUploadComponent, selector: "app-file-upload", inputs: { allFiles: "allFiles", limitFileUploading: "limitFileUploading", isDeleteFileButtonVisible: "isDeleteFileButtonVisible", isShowNoFileIcon: "isShowNoFileIcon" }, outputs: { selectedFileData: "selectedFileData", deletedFileData: "deletedFileData" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"row\" style=\"margin: 0;\">\n <div class=\"col-md-12\" *ngIf=\"!isDeleteFileButtonVisible\" style=\"text-align: left;\">\n <label class=\"she-label\">Attachment</label>\n </div>\n <div class=\"col-lg-3 document-cnt m-t-10 m-b-10 hover-pointer\"\n *ngFor=\"let eachFile of copyOfInputAllFiles; let currentFileIndex = index\">\n <div class=\"row\"> <!-- (click)=\"viewFile(eachFile)\" -->\n <div class=\"col-lg-3 document_image\">\n <img [src]=\"getDocIcon(eachFile?.name)\" style=\"margin-right: 10px;height: 40px;\">\n </div>\n <div class=\"col-lg-9 document_name\">\n {{eachFile?.name}}\n </div>\n <div class=\"document_delete\" (click)=\"deleteFile(currentFileIndex);$event.stopPropagation()\" *ngIf=\"isDeleteFileButtonVisible\">\n <img src=\"https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/bin.svg\">\n </div>\n </div>\n </div>\n <div class=\"col-md-12 m-b-30 text-center\" *ngIf=\"copyOfInputAllFiles?.length === 0 && isShowNoFileIcon\">\n <img src=\"https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/ic_no_attachments.svg\" style=\"height: 140px;\">\n </div>\n</div>\n\n<div class=\"col-lg-6\" style=\"padding:0;margin-top: 10px;\">\n <label class=\"custom-file\" *ngIf=\"isDeleteFileButtonVisible\">\n <button class=\"she-btn-primary-bordered\" style=\"width:275px;\" (click)=\"onFileUpload($event)\"\n [ngClass]=\"{ 'btn-disabled': copyOfInputAllFiles?.length >= copyOfFileUploadingLimit }\" [disabled]=\"copyOfInputAllFiles?.length >= copyOfFileUploadingLimit\"\n >Choose\n files</button>\n\n <input id='fileUpload' type=\"file\" id=\"fileUpload\" name=\"fileUpload\" multiple=\"multiple\" accept=\"*\" style=\"display:none;\"\n (change) = uploadMultipleFiles($event)\n />\n </label>\n <!-- <span class=\"error-msg\" *ngIf=\"(formControl?.documents?.touched || formControl?.documents?.dirty) &&\n formControl?.documents?.errors?.required\">\n {{LM_POLICY_VALIDATION_MESSAGE.REQUIRED}}\n </span> -->\n</div>\n", styles: [".nav.nav-tabs+.tab-content{background:transparent}.row_cnt_folder{background:#fff;padding:50px 30px}.row-recent-file{border-top:1px solid #EBEBEB;padding:20px 0;cursor:pointer}p{margin-bottom:0}.floating_button{position:fixed;right:20px;bottom:20px;z-index:10;cursor:pointer}.floating_button img{height:60px}.form-cnt{background:#ffffff;padding:40px;border:1px solid #e8e8e8;border-bottom-left-radius:5px;border-bottom-right-radius:5px}.section-header{padding:15px;background:#F8F8F8;color:#898989;border:1px solid #e8e8e8;border-top-left-radius:5px;border-top-right-radius:5px}.document-cnt{border:1px solid #48B7FF;border-radius:5px;margin-right:30px;margin-top:10px}.document_image{background:#48B7FF66;padding:10px}.document_name{padding:15px 5px;overflow:hidden}.document_delete{position:absolute;background:#C20808;display:block;height:30px;width:30px;border-radius:50px;bottom:32px;right:-15px;cursor:pointer}.document_delete img{position:relative;left:8px;top:3px}.btn-disabled{background:#e1e1e1;color:#fff;border:none;border-radius:5px;height:50px}.form-control[disabled]{border-radius:5px}.custom-file{color:#9a9a9a;font-size:14px;font-weight:400;display:inline-block;width:auto;margin-bottom:5px}.she-btn-primary-bordered{background:#ffffff;color:#48b7ff;border:1px solid #48B7FF;border-radius:5px;height:50px;outline:none!important}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
93
+ }
94
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FileUploadComponent, decorators: [{
95
+ type: Component,
96
+ args: [{ selector: 'app-file-upload', template: "<div class=\"row\" style=\"margin: 0;\">\n <div class=\"col-md-12\" *ngIf=\"!isDeleteFileButtonVisible\" style=\"text-align: left;\">\n <label class=\"she-label\">Attachment</label>\n </div>\n <div class=\"col-lg-3 document-cnt m-t-10 m-b-10 hover-pointer\"\n *ngFor=\"let eachFile of copyOfInputAllFiles; let currentFileIndex = index\">\n <div class=\"row\"> <!-- (click)=\"viewFile(eachFile)\" -->\n <div class=\"col-lg-3 document_image\">\n <img [src]=\"getDocIcon(eachFile?.name)\" style=\"margin-right: 10px;height: 40px;\">\n </div>\n <div class=\"col-lg-9 document_name\">\n {{eachFile?.name}}\n </div>\n <div class=\"document_delete\" (click)=\"deleteFile(currentFileIndex);$event.stopPropagation()\" *ngIf=\"isDeleteFileButtonVisible\">\n <img src=\"https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/bin.svg\">\n </div>\n </div>\n </div>\n <div class=\"col-md-12 m-b-30 text-center\" *ngIf=\"copyOfInputAllFiles?.length === 0 && isShowNoFileIcon\">\n <img src=\"https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/ic_no_attachments.svg\" style=\"height: 140px;\">\n </div>\n</div>\n\n<div class=\"col-lg-6\" style=\"padding:0;margin-top: 10px;\">\n <label class=\"custom-file\" *ngIf=\"isDeleteFileButtonVisible\">\n <button class=\"she-btn-primary-bordered\" style=\"width:275px;\" (click)=\"onFileUpload($event)\"\n [ngClass]=\"{ 'btn-disabled': copyOfInputAllFiles?.length >= copyOfFileUploadingLimit }\" [disabled]=\"copyOfInputAllFiles?.length >= copyOfFileUploadingLimit\"\n >Choose\n files</button>\n\n <input id='fileUpload' type=\"file\" id=\"fileUpload\" name=\"fileUpload\" multiple=\"multiple\" accept=\"*\" style=\"display:none;\"\n (change) = uploadMultipleFiles($event)\n />\n </label>\n <!-- <span class=\"error-msg\" *ngIf=\"(formControl?.documents?.touched || formControl?.documents?.dirty) &&\n formControl?.documents?.errors?.required\">\n {{LM_POLICY_VALIDATION_MESSAGE.REQUIRED}}\n </span> -->\n</div>\n", styles: [".nav.nav-tabs+.tab-content{background:transparent}.row_cnt_folder{background:#fff;padding:50px 30px}.row-recent-file{border-top:1px solid #EBEBEB;padding:20px 0;cursor:pointer}p{margin-bottom:0}.floating_button{position:fixed;right:20px;bottom:20px;z-index:10;cursor:pointer}.floating_button img{height:60px}.form-cnt{background:#ffffff;padding:40px;border:1px solid #e8e8e8;border-bottom-left-radius:5px;border-bottom-right-radius:5px}.section-header{padding:15px;background:#F8F8F8;color:#898989;border:1px solid #e8e8e8;border-top-left-radius:5px;border-top-right-radius:5px}.document-cnt{border:1px solid #48B7FF;border-radius:5px;margin-right:30px;margin-top:10px}.document_image{background:#48B7FF66;padding:10px}.document_name{padding:15px 5px;overflow:hidden}.document_delete{position:absolute;background:#C20808;display:block;height:30px;width:30px;border-radius:50px;bottom:32px;right:-15px;cursor:pointer}.document_delete img{position:relative;left:8px;top:3px}.btn-disabled{background:#e1e1e1;color:#fff;border:none;border-radius:5px;height:50px}.form-control[disabled]{border-radius:5px}.custom-file{color:#9a9a9a;font-size:14px;font-weight:400;display:inline-block;width:auto;margin-bottom:5px}.she-btn-primary-bordered{background:#ffffff;color:#48b7ff;border:1px solid #48B7FF;border-radius:5px;height:50px;outline:none!important}\n"] }]
97
+ }], ctorParameters: function () { return [{ type: i1.SharedService }]; }, propDecorators: { selectedFileData: [{
98
+ type: Output
99
+ }], deletedFileData: [{
100
+ type: Output
101
+ }], allFiles: [{
102
+ type: Input
103
+ }], limitFileUploading: [{
104
+ type: Input
105
+ }], isDeleteFileButtonVisible: [{
106
+ type: Input
107
+ }], isShowNoFileIcon: [{
108
+ type: Input
109
+ }] } });
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS11cGxvYWQvZmlsZS11cGxvYWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS11cGxvYWQvZmlsZS11cGxvYWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBUyxNQUFNLEVBQUMsWUFBWSxFQUFFLEtBQUssRUFBc0MsTUFBTSxlQUFlLENBQUM7Ozs7QUFPakgsTUFBTSxPQUFPLG1CQUFtQjtJQVdWO0lBVlYsZ0JBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQVMsQ0FBQztJQUM3QyxlQUFlLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUMzQyxRQUFRLENBQUM7SUFDVCxrQkFBa0IsQ0FBQztJQUNuQix5QkFBeUIsQ0FBQztJQUMxQixnQkFBZ0IsQ0FBQztJQUVuQixxQkFBcUIsR0FBYSxFQUFFLENBQUM7SUFDckMsbUJBQW1CLENBQUM7SUFDcEIsd0JBQXdCLENBQUM7SUFDaEMsWUFBb0IsYUFBNEI7UUFBNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7SUFDNUMsQ0FBQztJQUVMLFFBQVEsS0FBSyxDQUFDO0lBRWQsWUFBWSxDQUFDLEtBQVU7UUFDckIsTUFBTSxtQkFBbUIsR0FBZ0IsUUFBUSxDQUFDLGNBQWMsQ0FDOUQsWUFBWSxDQUNFLENBQUM7UUFDakIsbUJBQW1CLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELFdBQVcsQ0FBQyxhQUE0QjtRQUN0QyxPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxhQUFh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LFVBQVU7SUFDVixNQUFNO0lBQ04sSUFBSTtJQUVKLFVBQVUsQ0FBQyxPQUFPO1FBQ2hCLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkMsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6QyxDQUFDO3dHQTlGVSxtQkFBbUI7NEZBQW5CLG1CQUFtQiw2VUNQaEMsNC9EQXVDQTs7NEZEaENhLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxpQkFBaUI7b0dBS2pCLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFDRyxlQUFlO3NCQUF4QixNQUFNO2dCQUNFLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLHlCQUF5QjtzQkFBakMsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCxPdXRwdXQsRXZlbnRFbWl0dGVyLCBJbnB1dCAsRWxlbWVudFJlZiwgT25DaGFuZ2VzLFNpbXBsZUNoYW5nZXN9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2hhcmVkU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3NoYXJlZC5zZXJ2aWNlJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1maWxlLXVwbG9hZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWxlLXVwbG9hZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBGaWxlVXBsb2FkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LE9uQ2hhbmdlcyB7XG4gIEBPdXRwdXQoKSBzZWxlY3RlZEZpbGVEYXRhID0gbmV3IEV2ZW50RW1pdHRlcjxhbnlbXT4oKTtcbiAgQE91dHB1dCgpIGRlbGV0ZWRGaWxlRGF0YSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBASW5wdXQoKSBhbGxGaWxlcztcbiAgQElucHV0KCkgbGltaXRGaWxlVXBsb2FkaW5nO1xuICBASW5wdXQoKSBpc0RlbGV0ZUZpbGVCdXR0b25WaXNpYmxlO1xuICBASW5wdXQoKSBpc1Nob3dOb0ZpbGVJY29uO1xuXG4gIHB1YmxpYyBzZWxlY3RlZEZpbGVOYW1lQXJyYXk6IHN0cmluZ1tdID0gW107XG4gIHB1YmxpYyBjb3B5T2ZJbnB1dEFsbEZpbGVzO1xuICBwdWJsaWMgY29weU9mRmlsZVVwbG9hZGluZ0xpbWl0O1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIFNoYXJlZFNlcnZpY2U6IFNoYXJlZFNlcnZpY2VcbiAgKSB7IH1cblxuICBuZ09uSW5pdCgpIHsgfVxuXG4gIG9uRmlsZVVwbG9hZChldmVudDogYW55KSB7XG4gICAgY29uc3QgZmlsZVVwbG9hZGVyRWxlbWVudDogSFRNTEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcbiAgICAgICdmaWxlVXBsb2FkJ1xuICAgICkgYXMgSFRNTEVsZW1lbnQ7XG4gICAgZmlsZVVwbG9hZGVyRWxlbWVudC5jbGljaygpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoc2ltcGxlQ2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGNvbnNvbGUubG9nKCdzaW1wbGUgY2hhbmdlcycsIHNpbXBsZUNoYW5nZXMpO1xuICAgIHRoaXMuY29weU9mSW5wdXRBbGxGaWxlcyA9IHNpbXBsZUNoYW5nZXMuYWxsRmlsZXM/LmN1cnJlbnRWYWx1ZTtcbiAgICBpZiAoc2ltcGxlQ2hhbmdlcy5saW1pdEZpbGVVcGxvYWRpbmcpIHtcbiAgICAgIHRoaXMuY29weU9mRmlsZVVwbG9hZGluZ0xpbWl0ID0gc2ltcGxlQ2hhbmdlcy5saW1pdEZpbGVVcGxvYWRpbmc/LmN1cnJlbnRWYWx1ZTtcbiAgICB9XG5cbiAgfVxuXG4gIHVwbG9hZE11bHRpcGxlRmlsZXMoZXZlbnQ6IGFueSkge1xuICAgIGNvbnNvbGUubG9nKCdGaWxlIHVwbG9hZGVyIGluaXRpYXRlZCcpO1xuICAgIGNvbnN0IGlucHV0RmlsZXM6IGFueVtdID0gdGhpcy5jb3B5T2ZJbnB1dEFsbEZpbGVzID8gdGhpcy5jb3B5T2ZJbnB1dEFsbEZpbGVzIDogW107XG4gICAgY29uc3Qgc2VsZWN0ZWRGaWxlRGF0YSA9IFtdO1xuICAgIGNvbnN0IHVwbG9hZGVkRmlsZXMgPSBldmVudC50YXJnZXQuZmlsZXM7XG4gICAgaWYgKHVwbG9hZGVkRmlsZXMubGVuZ3RoICsgaW5wdXRGaWxlcy5sZW5ndGggPD0gdGhpcy5jb3B5T2ZGaWxlVXBsb2FkaW5nTGltaXQpIHtcbiAgICAgIGZvciAoY29uc3QgZWFjaFVwbG9hZGVkRmlsZSBvZiB1cGxvYWRlZEZpbGVzKSB7XG4gICAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgICAgIGNvbnN0IGZpbGU6IEZpbGUgPSBlYWNoVXBsb2FkZWRGaWxlO1xuICAgICAgICBjb25zdCBmb3JtYXQgPSBmaWxlLm5hbWUuc3BsaXQoJy4nKVsxXTtcbiAgICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoZmlsZSk7XG4gICAgICAgIHJlYWRlci5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAgICAgc2VsZWN0ZWRGaWxlRGF0YS5wdXNoKHtcbiAgICAgICAgICAgIGRvYzogcmVhZGVyLnJlc3VsdCxcbiAgICAgICAgICAgIG5hbWU6IGZpbGUubmFtZSxcbiAgICAgICAgICAgIHR5cGU6IGZpbGUudHlwZSxcbiAgICAgICAgICAgIGZvcm1hdCxcbiAgICAgICAgICAgIGlkOiBudWxsLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIGlucHV0RmlsZXMucHVzaCh7XG4gICAgICAgICAgICBkb2M6IHJlYWRlci5yZXN1bHQsXG4gICAgICAgICAgICBuYW1lOiBmaWxlLm5hbWUsXG4gICAgICAgICAgICB0eXBlOiBmaWxlLnR5cGUsXG4gICAgICAgICAgICBmb3JtYXQsXG4gICAgICAgICAgICBpZDogbnVsbCxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS53YXJuKCdZb3UgY2FuIHVwbG9hZCBtYXggNSBmaWxlcycpO1xuICAgICAgLy90aGlzLnRvYXN0ci53YXJuaW5nKFRPQVNURVJfTUVTU0FHRVMuTUFYX0ZJVkVfRklMRVMsIFRPQVNURVJfTUVTU0FHRVMuV0FSTklOR19USVRMRSk7XG4gICAgfVxuICAgIGV2ZW50LnRhcmdldC52YWx1ZSA9ICcnO1xuICAgIHRoaXMuY29weU9mSW5wdXRBbGxGaWxlcyA9IGlucHV0RmlsZXM7XG4gICAgY29uc29sZS5sb2coJ3VwbG9hZGVkRmlsZXMnLGlucHV0RmlsZXMpO1xuICAgIHRoaXMuc2VsZWN0ZWRGaWxlRGF0YS5lbWl0KGlucHV0RmlsZXMpO1xuICB9XG5cblxuICBkZWxldGVGaWxlKGN1cnJlbnRGaWxlSW5kZXgpIHtcbiAgICAgICAgY29uc3QgZGVsZXRlZEZpbGVOYW1lID0gdGhpcy5zZWxlY3RlZEZpbGVOYW1lQXJyYXkuc3BsaWNlKGN1cnJlbnRGaWxlSW5kZXgsIDEpO1xuICAgICAgICBjb25zdCBkZWxldGVkRmlsZSA9IHRoaXMuY29weU9mSW5wdXRBbGxGaWxlcy5zcGxpY2UoY3VycmVudEZpbGVJbmRleCwgMSk7XG4gICAgICAgIGNvbnNvbGUubG9nKCdlbWl0JywgZGVsZXRlZEZpbGVbMF0pO1xuICAgICAgICB0aGlzLmRlbGV0ZWRGaWxlRGF0YS5lbWl0KGRlbGV0ZWRGaWxlWzBdKTtcbiAgfVxuXG4gIC8vIHZpZXdGaWxlKGN1cnJlbnRGaWxlKSB7XG4gIC8vICAgLy8gRGlzcGxheSBmaWxlIGhlcmVcbiAgLy8gICBpZiAoY3VycmVudEZpbGUgJiYgY3VycmVudEZpbGUuZG9jKSB7XG4gIC8vICAgICB0aGlzLnNoYXJlZFNlcnZpY2Uudmlld0ZpbGUoY3VycmVudEZpbGUuZG9jLnNwbGl0KCcvJykucG9wKCkpLnN1YnNjcmliZSgoYXBpUmVzcG9uc2U6IGFueSkgPT4ge1xuICAvLyAgICAgICBpZiAoYXBpUmVzcG9uc2UgJiYgYXBpUmVzcG9uc2Uuc2FzX3VybCkge1xuICAvLyAgICAgICAgIHdpbmRvdy5vcGVuKGFwaVJlc3BvbnNlLnNhc191cmwsICdfYmxhbmsnKTtcbiAgLy8gICAgICAgfVxuICAvLyAgICAgfSwgKGFwaUVycm9yKSA9PiB7XG4gIC8vICAgICAgIHRoaXMudG9hc3RyLndhcm5pbmcoJ0Vycm9yIHdoaWxlIHZpZXdpbmcgZmlsZScsICdXYXJuaW5nJyk7XG4gIC8vICAgICB9KTtcbiAgLy8gICB9XG4gIC8vIH1cblxuICBnZXREb2NJY29uKGRvY05hbWUpIHtcbiAgICBjb25zdCBleHQgPSBkb2NOYW1lLnNwbGl0KCcuJykucG9wKC0xKTtcbiAgICByZXR1cm4gdGhpcy5TaGFyZWRTZXJ2aWNlLmRvY0ljb24oZXh0KTtcbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwicm93XCIgc3R5bGU9XCJtYXJnaW46IDA7XCI+XG4gIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIiAqbmdJZj1cIiFpc0RlbGV0ZUZpbGVCdXR0b25WaXNpYmxlXCIgc3R5bGU9XCJ0ZXh0LWFsaWduOiBsZWZ0O1wiPlxuICAgIDxsYWJlbCBjbGFzcz1cInNoZS1sYWJlbFwiPkF0dGFjaG1lbnQ8L2xhYmVsPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImNvbC1sZy0zIGRvY3VtZW50LWNudCBtLXQtMTAgbS1iLTEwIGhvdmVyLXBvaW50ZXJcIlxuICAgICpuZ0Zvcj1cImxldCBlYWNoRmlsZSBvZiBjb3B5T2ZJbnB1dEFsbEZpbGVzOyBsZXQgY3VycmVudEZpbGVJbmRleCA9IGluZGV4XCI+XG4gICAgIDxkaXYgY2xhc3M9XCJyb3dcIj4gPCEtLSAoY2xpY2spPVwidmlld0ZpbGUoZWFjaEZpbGUpXCIgIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0zIGRvY3VtZW50X2ltYWdlXCI+XG4gICAgICAgIDxpbWcgW3NyY109XCJnZXREb2NJY29uKGVhY2hGaWxlPy5uYW1lKVwiIHN0eWxlPVwibWFyZ2luLXJpZ2h0OiAxMHB4O2hlaWdodDogNDBweDtcIj5cbiAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctOSBkb2N1bWVudF9uYW1lXCI+XG4gICAgICAgIHt7ZWFjaEZpbGU/Lm5hbWV9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiZG9jdW1lbnRfZGVsZXRlXCIgKGNsaWNrKT1cImRlbGV0ZUZpbGUoY3VycmVudEZpbGVJbmRleCk7JGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCIgKm5nSWY9XCJpc0RlbGV0ZUZpbGVCdXR0b25WaXNpYmxlXCI+XG4gICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9ybnh0LnMzLmFtYXpvbmF3cy5jb20vSWNvbnMvZmlsZVR5cGVJY29ucy9iaW4uc3ZnXCI+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgbS1iLTMwIHRleHQtY2VudGVyXCIgKm5nSWY9XCJjb3B5T2ZJbnB1dEFsbEZpbGVzPy5sZW5ndGggPT09IDAgJiYgaXNTaG93Tm9GaWxlSWNvblwiPlxuICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9ybnh0LnMzLmFtYXpvbmF3cy5jb20vSWNvbnMvZmlsZVR5cGVJY29ucy9pY19ub19hdHRhY2htZW50cy5zdmdcIiBzdHlsZT1cImhlaWdodDogMTQwcHg7XCI+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJjb2wtbGctNlwiIHN0eWxlPVwicGFkZGluZzowO21hcmdpbi10b3A6IDEwcHg7XCI+XG4gIDxsYWJlbCBjbGFzcz1cImN1c3RvbS1maWxlXCIgKm5nSWY9XCJpc0RlbGV0ZUZpbGVCdXR0b25WaXNpYmxlXCI+XG4gICAgPGJ1dHRvbiBjbGFzcz1cInNoZS1idG4tcHJpbWFyeS1ib3JkZXJlZFwiIHN0eWxlPVwid2lkdGg6Mjc1cHg7XCIgKGNsaWNrKT1cIm9uRmlsZVVwbG9hZCgkZXZlbnQpXCJcbiAgICBbbmdDbGFzc109XCJ7ICdidG4tZGlzYWJsZWQnOiBjb3B5T2ZJbnB1dEFsbEZpbGVzPy5sZW5ndGggPj0gY29weU9mRmlsZVVwbG9hZGluZ0xpbWl0IH1cIiBbZGlzYWJsZWRdPVwiY29weU9mSW5wdXRBbGxGaWxlcz8ubGVuZ3RoID49IGNvcHlPZkZpbGVVcGxvYWRpbmdMaW1pdFwiXG4gICAgPkNob29zZVxuICAgICAgZmlsZXM8L2J1dHRvbj5cblxuICAgIDxpbnB1dCBpZD0nZmlsZVVwbG9hZCcgdHlwZT1cImZpbGVcIiBpZD1cImZpbGVVcGxvYWRcIiBuYW1lPVwiZmlsZVVwbG9hZFwiIG11bHRpcGxlPVwibXVsdGlwbGVcIiBhY2NlcHQ9XCIqXCIgc3R5bGU9XCJkaXNwbGF5Om5vbmU7XCJcbiAgICAoY2hhbmdlKSA9IHVwbG9hZE11bHRpcGxlRmlsZXMoJGV2ZW50KVxuICAgIC8+XG4gIDwvbGFiZWw+XG4gIDwhLS0gPHNwYW4gY2xhc3M9XCJlcnJvci1tc2dcIiAqbmdJZj1cIihmb3JtQ29udHJvbD8uZG9jdW1lbnRzPy50b3VjaGVkIHx8ICAgICAgICBmb3JtQ29udHJvbD8uZG9jdW1lbnRzPy5kaXJ0eSkgJiZcbiAgZm9ybUNvbnRyb2w/LmRvY3VtZW50cz8uZXJyb3JzPy5yZXF1aXJlZFwiPlxuICAgIHt7TE1fUE9MSUNZX1ZBTElEQVRJT05fTUVTU0FHRS5SRVFVSVJFRH19XG4gIDwvc3Bhbj4gLS0+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,42 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../../services/shared.service";
4
+ import * as i2 from "@angular/common";
5
+ export class FileViewComponent {
6
+ SharedService;
7
+ documentData;
8
+ api;
9
+ constructor(SharedService) {
10
+ this.SharedService = SharedService;
11
+ }
12
+ ngOnInit() {
13
+ }
14
+ viewDoc(link) {
15
+ /*
16
+ Author: Vinay Jadhav
17
+ @description: This function will view the file from azure blob.
18
+ The link passed as a parameter will extract file name and pass it to the service
19
+ @param link: It will accept a doc link
20
+ @return: It will not return anything but it will either show or download the file.
21
+ */
22
+ if (link && link !== null) {
23
+ this.SharedService.processViewFile(link.split('/').pop(), this.api);
24
+ }
25
+ // window.open(environment.api.substring(0, environment.api.length - 1) + link, '_blank');
26
+ }
27
+ getDocIcon(docName) {
28
+ const ext = docName.split('.').pop(-1);
29
+ return this.SharedService.docIcon(ext);
30
+ }
31
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FileViewComponent, deps: [{ token: i1.SharedService }], target: i0.ɵɵFactoryTarget.Component });
32
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: FileViewComponent, selector: "app-file-view", inputs: { documentData: "documentData", api: "api" }, ngImport: i0, template: "<div class=\"col-lg-12\">\n <div class=\"row\" style=\"text-align: left;\">\n <div class=\"col-md-12\">\n <label class=\"she-label attachment\">Attachment</label>\n </div>\n </div>\n <div class=\"row\" style=\"margin: 0;\">\n <div class=\"col-lg-3 document-cnt\" *ngFor=\"let file of documentData;let i = index;\" style=\"margin-bottom: 10px;\">\n <div class=\"row\" (click)=\"viewDoc(file?.doc)\" style=\"cursor: pointer;\">\n <div class=\"col-lg-3 document_image\">\n <img [src]=\"getDocIcon(file?.doc)\" style=\"margin-right: 10px;height: 40px;\">\n </div>\n <div class=\"col-lg-9 document_name\" style=\"overflow:hidden;height:35px;\">\n {{file?.name}}\n </div>\n </div>\n </div>\n </div>\n <div class=\"col-md-12 m-b-30 text-center\" *ngIf=\"documentData?.length === 0\">\n <img src=\"https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/ic_no_attachments.svg\" style=\"height: 140px;\">\n </div>\n </div>\n ", styles: [".document-cnt{border:1px solid #48B7FF;border-radius:5px;margin-right:30px}.document_image{background:#48B7FF66;padding:10px}.document_name{padding:15px 5px}.document_delete{position:absolute;background:#C20808;display:block;height:30px;width:30px;border-radius:50px;bottom:32px;right:-15px;cursor:pointer}.document_delete img{position:relative;left:8px;top:3px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
33
+ }
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FileViewComponent, decorators: [{
35
+ type: Component,
36
+ args: [{ selector: 'app-file-view', template: "<div class=\"col-lg-12\">\n <div class=\"row\" style=\"text-align: left;\">\n <div class=\"col-md-12\">\n <label class=\"she-label attachment\">Attachment</label>\n </div>\n </div>\n <div class=\"row\" style=\"margin: 0;\">\n <div class=\"col-lg-3 document-cnt\" *ngFor=\"let file of documentData;let i = index;\" style=\"margin-bottom: 10px;\">\n <div class=\"row\" (click)=\"viewDoc(file?.doc)\" style=\"cursor: pointer;\">\n <div class=\"col-lg-3 document_image\">\n <img [src]=\"getDocIcon(file?.doc)\" style=\"margin-right: 10px;height: 40px;\">\n </div>\n <div class=\"col-lg-9 document_name\" style=\"overflow:hidden;height:35px;\">\n {{file?.name}}\n </div>\n </div>\n </div>\n </div>\n <div class=\"col-md-12 m-b-30 text-center\" *ngIf=\"documentData?.length === 0\">\n <img src=\"https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/ic_no_attachments.svg\" style=\"height: 140px;\">\n </div>\n </div>\n ", styles: [".document-cnt{border:1px solid #48B7FF;border-radius:5px;margin-right:30px}.document_image{background:#48B7FF66;padding:10px}.document_name{padding:15px 5px}.document_delete{position:absolute;background:#C20808;display:block;height:30px;width:30px;border-radius:50px;bottom:32px;right:-15px;cursor:pointer}.document_delete img{position:relative;left:8px;top:3px}\n"] }]
37
+ }], ctorParameters: function () { return [{ type: i1.SharedService }]; }, propDecorators: { documentData: [{
38
+ type: Input
39
+ }], api: [{
40
+ type: Input
41
+ }] } });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL254dC1hcHAvc3JjL2xpYi9jb21wb25lbnRzL2ZpbGUtdmlldy9maWxlLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS12aWV3L2ZpbGUtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFXLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQzs7OztBQVF6RCxNQUFNLE9BQU8saUJBQWlCO0lBSVI7SUFIWCxZQUFZLENBQUM7SUFDYixHQUFHLENBQUM7SUFFYixZQUFvQixhQUE0QjtRQUE1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtJQUFJLENBQUM7SUFFckQsUUFBUTtJQUNSLENBQUM7SUFFRCxPQUFPLENBQUMsSUFBSTtRQUNUOzs7Ozs7T0FNRDtRQUNELElBQUksSUFBSSxJQUFJLElBQUksS0FBSyxJQUFJLEVBQUU7WUFDMUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDcEU7UUFDQywwRkFBMEY7SUFDNUYsQ0FBQztJQUVELFVBQVUsQ0FBQyxPQUFPO1FBQ2hCLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkMsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6QyxDQUFDO3dHQTFCVSxpQkFBaUI7NEZBQWpCLGlCQUFpQiwyR0NSOUIsOGpDQXNCRTs7NEZEZFcsaUJBQWlCO2tCQUw3QixTQUFTOytCQUNFLGVBQWU7b0dBS2hCLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgLCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTaGFyZWRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc2hhcmVkLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZmlsZS12aWV3JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbGUtdmlldy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZpbGUtdmlldy5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRmlsZVZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBkb2N1bWVudERhdGE7XG4gIEBJbnB1dCgpIGFwaTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIFNoYXJlZFNlcnZpY2U6IFNoYXJlZFNlcnZpY2UpIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICB9XG5cbiAgdmlld0RvYyhsaW5rKSB7XG4gICAgIC8qXG4gICAgQXV0aG9yOiBWaW5heSBKYWRoYXZcbiAgICBAZGVzY3JpcHRpb246IFRoaXMgZnVuY3Rpb24gd2lsbCB2aWV3IHRoZSBmaWxlIGZyb20gYXp1cmUgYmxvYi5cbiAgICAgICAgICAgICAgICAgIFRoZSBsaW5rIHBhc3NlZCBhcyBhIHBhcmFtZXRlciB3aWxsIGV4dHJhY3QgZmlsZSBuYW1lIGFuZCBwYXNzIGl0IHRvIHRoZSBzZXJ2aWNlXG4gICAgQHBhcmFtIGxpbms6IEl0IHdpbGwgYWNjZXB0IGEgZG9jIGxpbmtcbiAgICBAcmV0dXJuOiBJdCB3aWxsIG5vdCByZXR1cm4gYW55dGhpbmcgYnV0IGl0IHdpbGwgZWl0aGVyIHNob3cgb3IgZG93bmxvYWQgdGhlIGZpbGUuXG4gICovXG4gICBpZiAobGluayAmJiBsaW5rICE9PSBudWxsKSB7XG4gICAgdGhpcy5TaGFyZWRTZXJ2aWNlLnByb2Nlc3NWaWV3RmlsZShsaW5rLnNwbGl0KCcvJykucG9wKCksdGhpcy5hcGkpO1xuICB9XG4gICAgLy8gd2luZG93Lm9wZW4oZW52aXJvbm1lbnQuYXBpLnN1YnN0cmluZygwLCBlbnZpcm9ubWVudC5hcGkubGVuZ3RoIC0gMSkgKyBsaW5rLCAnX2JsYW5rJyk7XG4gIH1cblxuICBnZXREb2NJY29uKGRvY05hbWUpIHtcbiAgICBjb25zdCBleHQgPSBkb2NOYW1lLnNwbGl0KCcuJykucG9wKC0xKTtcbiAgICByZXR1cm4gdGhpcy5TaGFyZWRTZXJ2aWNlLmRvY0ljb24oZXh0KTtcbiAgfVxuXG4gIFxuXG59XG4iLCI8ZGl2IGNsYXNzPVwiY29sLWxnLTEyXCI+XG4gICAgPGRpdiBjbGFzcz1cInJvd1wiIHN0eWxlPVwidGV4dC1hbGlnbjogbGVmdDtcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cbiAgICAgICAgPGxhYmVsIGNsYXNzPVwic2hlLWxhYmVsIGF0dGFjaG1lbnRcIj5BdHRhY2htZW50PC9sYWJlbD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIiBzdHlsZT1cIm1hcmdpbjogMDtcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0zIGRvY3VtZW50LWNudFwiICpuZ0Zvcj1cImxldCBmaWxlIG9mIGRvY3VtZW50RGF0YTtsZXQgaSA9IGluZGV4O1wiIHN0eWxlPVwibWFyZ2luLWJvdHRvbTogMTBweDtcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIiAoY2xpY2spPVwidmlld0RvYyhmaWxlPy5kb2MpXCIgc3R5bGU9XCJjdXJzb3I6IHBvaW50ZXI7XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0zIGRvY3VtZW50X2ltYWdlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJnZXREb2NJY29uKGZpbGU/LmRvYylcIiBzdHlsZT1cIm1hcmdpbi1yaWdodDogMTBweDtoZWlnaHQ6IDQwcHg7XCI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy05IGRvY3VtZW50X25hbWVcIiBzdHlsZT1cIm92ZXJmbG93OmhpZGRlbjtoZWlnaHQ6MzVweDtcIj5cbiAgICAgICAgICAgICAgICAgICAge3tmaWxlPy5uYW1lfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIG0tYi0zMCB0ZXh0LWNlbnRlclwiICpuZ0lmPVwiZG9jdW1lbnREYXRhPy5sZW5ndGggPT09IDBcIj5cbiAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9ybnh0LnMzLmFtYXpvbmF3cy5jb20vSWNvbnMvZmlsZVR5cGVJY29ucy9pY19ub19hdHRhY2htZW50cy5zdmdcIiBzdHlsZT1cImhlaWdodDogMTQwcHg7XCI+XG4gIDwvZGl2PlxuICA8L2Rpdj5cbiAgIl19