{ "version": 3, "sources": ["apps/partner-center-client/src/app/common/file-upload/file-control-value-accessor.ts", "apps/partner-center-client/src/app/common/file-upload/file-upload.service.ts", "apps/partner-center-client/src/app/common/file-upload/va-image-upload.component.ts"], "sourcesContent": ["import { ControlValueAccessor } from '@angular/forms';\n\nexport class FileControlValueAccessor implements ControlValueAccessor {\n protected innerValue: T;\n private onTouch: () => void;\n private onModelChange: (changes: T) => void;\n\n get value(): T {\n return this.innerValue;\n }\n\n set value(v: T) {\n if (this.innerValue !== v) {\n this.innerValue = v;\n this.onModelChange(v);\n }\n }\n\n writeValue(v: T): void {\n if (this.innerValue !== v) {\n this.innerValue = v;\n }\n }\n\n registerOnChange(fn: any): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n}\n", "import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { FileUploadInfo } from './file-upload-info';\n\n@Injectable({ providedIn: 'root' })\nexport class FileUploadService {\n constructor(private apiService: HttpClient) {}\n\n upload(url: string, file: File): Observable {\n const body = new FormData();\n body.append('file', file);\n return this.apiService.post<{ data: FileUploadInfo }>(url, body).pipe(map((response) => response.data));\n }\n\n getFilename(url: string): string {\n if (url.length === 0) {\n // TODO: Add tests for this service.\n return url;\n }\n return url.split('/').pop();\n }\n}\n", "import {\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { NgClass, NgIf } from '@angular/common';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { FileUploaderInterface } from '@vendasta/forms';\nimport { SnackbarService } from '@vendasta/galaxy/snackbar-service';\nimport { FileControlValueAccessor } from './file-control-value-accessor';\nimport { FileUploadInfo } from './file-upload-info';\nimport { FileUploadService } from './file-upload.service';\n\nconst STRING_CONTROL_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => VaImageUploaderComponent),\n multi: true,\n};\n\n@Component({\n standalone: true,\n imports: [NgClass, TranslateModule, MatButtonModule, MatProgressSpinnerModule, NgIf, MatTooltipModule, MatIconModule],\n selector: 'app-image-uploader',\n styleUrls: ['./va-image-upload.component.scss'],\n template: `\n \n
\n \n {{ 'IMAGE_UPLOAD.DRAG_AND_DROP' | translate }}\n {{ 'IMAGE_UPLOAD.OR' | translate }}\n \n \n {{ 'IMAGE_UPLOAD.DRAG_AND_DROP' | translate }} {{ 'IMAGE_UPLOAD.OR' | translate }}\n \n \n \n {{ hintText }}\n
\n\n
\n \n
\n\n \n
\n \n
\n
\n \n \n \n\n \n \n \n \n `,\n providers: [STRING_CONTROL_ACCESSOR],\n})\nexport class VaImageUploaderComponent extends FileControlValueAccessor implements OnInit {\n @Input() uploadUrl: string;\n @Input() showClear = true;\n @Input() maxFileSize: number; // In bytes\n @Input() showMaxFileSize = true;\n @Input() okFileTypes: string[] = [];\n @Input() showOkFileTypes = false;\n @Input() hidePreview = false;\n @Input() customUploader: FileUploaderInterface;\n @Input() hideNewline = false;\n @ViewChild('fileInput', { static: true }) fileInput: ElementRef;\n @ViewChild('dropBox', { static: true }) dropBox: ElementRef;\n @Output() loading = new EventEmitter();\n\n dragover = false;\n isUploading = false;\n @Input() fileName: string;\n @Input() raisedButton = true;\n\n shouldShowHint: boolean;\n hintText: string;\n\n computeHintText(): string {\n const hintTexts: string[] = [];\n if (this.maxFileSize && this.showMaxFileSize) {\n hintTexts.push(this.maxFileSizeMb());\n }\n if (this.okFileTypes && this.showOkFileTypes) {\n hintTexts.push(this.okFileTypesString());\n }\n return hintTexts.join(' ');\n }\n\n maxFileSizeMb(): string {\n return `Maximum file size ${(this.maxFileSize / 1024 / 1024).toFixed(2)} MB.`;\n }\n\n okFileTypesString(): string {\n return `Supported file types: ${this.okFileTypes.join(', ')}.`;\n }\n\n constructor(\n private fileUploadService: FileUploadService,\n private snackbarService: SnackbarService,\n private changeDetectorRef: ChangeDetectorRef,\n ) {\n super();\n this.innerValue = '';\n }\n\n ngOnInit(): void {\n this.shouldShowHint = (this.maxFileSize && this.showMaxFileSize) || (this.okFileTypes && this.showOkFileTypes);\n this.hintText = this.computeHintText();\n\n ['drag', 'dragstart', 'dragend', 'dragover', 'dragenter', 'dragleave', 'drop'].map((on) => {\n this.dropBox.nativeElement.addEventListener(on, (e) => {\n e.preventDefault();\n e.stopPropagation();\n });\n });\n }\n\n clearValue(): void {\n this.value = null;\n this.fileName = null;\n }\n\n handleFileUploaded(info: FileUploadInfo): void {\n this.value = info.url;\n this.fileName = info.name;\n }\n\n uploadFiles(file: File): void {\n if (!file) {\n return;\n }\n if (!file.type.match('image/.*')) {\n this.snackbarService.errorSnack(`Unsupported file type ${file.type}, please try a different file.`);\n return;\n }\n\n if (this.maxFileSize && file.size > this.maxFileSize) {\n this.snackbarService.errorSnack(`File is too large, please try a different file.`);\n return;\n }\n\n const invalidChars = [];\n file.name?.split('').some(function (char): void {\n if (char.charCodeAt(0) > 127) {\n invalidChars.push(char);\n }\n });\n\n if (invalidChars.length > 0) {\n let errorStr = 'File name cannot contain character(s) ';\n for (const char of invalidChars) {\n errorStr += char + ', ';\n }\n this.snackbarService.openErrorSnack(errorStr.substring(0, errorStr.length - 2));\n return;\n }\n\n this.isUploading = true;\n this.loading.emit(true);\n let upload$;\n if (this.customUploader) {\n upload$ = this.customUploader.uploadFile(file);\n } else {\n upload$ = this.fileUploadService.upload(this.uploadUrl, file);\n }\n upload$.subscribe(\n (fileUpload) => {\n this.isUploading = false;\n this.loading.emit(false);\n this.handleFileUploaded(fileUpload);\n this.changeDetectorRef.detectChanges();\n },\n (err) => {\n console.log(err);\n this.isUploading = false;\n this.loading.emit(false);\n this.snackbarService.errorSnack('Unable to upload file. Please try again.');\n this.changeDetectorRef.detectChanges();\n },\n );\n }\n\n handleInputChange(): void {\n this.uploadFiles(this.fileInput.nativeElement.files[0]);\n }\n\n handleDropEvent(event: DragEvent): void {\n this.dragover = false;\n if (event.dataTransfer) {\n this.uploadFiles(event.dataTransfer.files[0]);\n } else {\n this.snackbarService.errorSnack(`Your browser does not support drag and drop. Select 'Upload Image' instead.`);\n }\n }\n}\n"], "mappings": "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", "names": ["FileControlValueAccessor", "value", "innerValue", "v", "onModelChange", "writeValue", "registerOnChange", "fn", "registerOnTouched", "onTouch", "FileUploadService", "constructor", "apiService", "upload", "url", "file", "body", "FormData", "append", "post", "pipe", "map", "response", "data", "getFilename", "length", "split", "pop", "\u0275\u0275inject", "HttpClient", "factory", "\u0275fac", "providedIn", "_FileUploadService", "\u0275\u0275elementContainerStart", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275advance", "\u0275\u0275textInterpolate", "\u0275\u0275pipeBind1", "\u0275\u0275textInterpolate2", "\u0275\u0275listener", "\u0275\u0275restoreView", "_r2", "\u0275\u0275nextContext", "fileInput_r3", "\u0275\u0275reference", "\u0275\u0275resetView", "click", "\u0275\u0275textInterpolate1", "_r4", "ctx_r4", "hintText", "\u0275\u0275template", "VaImageUploaderComponent_div_2_ng_container_1_Template", "VaImageUploaderComponent_div_2_ng_template_2_Template", "\u0275\u0275templateRefExtractor", "VaImageUploaderComponent_div_2_button_4_Template", "VaImageUploaderComponent_div_2_button_5_Template", "VaImageUploaderComponent_div_2_span_6_Template", "\u0275\u0275property", "hideNewline", "oneLine_r6", "raisedButton", "shouldShowHint", "\u0275\u0275element", "_r7", "value", "\u0275\u0275sanitizeUrl", "VaImageUploaderComponent_ng_container_4_div_1_Template", "isUploading", "_r8", "fileName", "VaImageUploaderComponent_ng_container_5_div_1_Template", "_r9", "clearValue", "STRING_CONTROL_ACCESSOR", "provide", "NG_VALUE_ACCESSOR", "useExisting", "forwardRef", "VaImageUploaderComponent", "multi", "FileControlValueAccessor", "computeHintText", "hintTexts", "maxFileSize", "showMaxFileSize", "push", "maxFileSizeMb", "okFileTypes", "showOkFileTypes", "okFileTypesString", "join", "toFixed", "constructor", "fileUploadService", "snackbarService", "changeDetectorRef", "showClear", "hidePreview", "loading", "EventEmitter", "dragover", "innerValue", "ngOnInit", "map", "on", "dropBox", "nativeElement", "addEventListener", "e", "preventDefault", "stopPropagation", "handleFileUploaded", "info", "url", "name", "uploadFiles", "file", "type", "match", "errorSnack", "size", "invalidChars", "split", "some", "char", "charCodeAt", "length", "errorStr", "openErrorSnack", "substring", "emit", "upload$", "customUploader", "uploadFile", "upload", "uploadUrl", "subscribe", "fileUpload", "detectChanges", "err", "console", "log", "handleInputChange", "fileInput", "files", "handleDropEvent", "event", "dataTransfer", "\u0275\u0275directiveInject", "FileUploadService", "SnackbarService", "ChangeDetectorRef", "selectors", "viewQuery", "rf", "ctx", "\u0275\u0275InheritDefinitionFeature", "\u0275\u0275StandaloneFeature", "ngContentSelectors", "_c2", "decls", "vars", "consts", "template", "$event", "i0", "_r1", "VaImageUploaderComponent_div_2_Template", "VaImageUploaderComponent_div_3_Template", "VaImageUploaderComponent_ng_container_4_Template", "VaImageUploaderComponent_ng_container_5_Template", "VaImageUploaderComponent_button_6_Template", "\u0275\u0275projection", "\u0275\u0275styleProp", "\u0275\u0275pureFunction1", "_c3", "NgClass", "TranslateModule", "TranslatePipe", "MatButtonModule", "MatAnchor", "MatButton", "MatIconButton", "MatProgressSpinnerModule", "MatProgressSpinner", "NgIf", "MatTooltipModule", "MatTooltip", "MatIconModule", "MatIcon", "styles", "_VaImageUploaderComponent"] }