From 1402d5b4c12116dc0828493ba80a474263985912 Mon Sep 17 00:00:00 2001 From: Derek Holloway Date: Sat, 28 Jun 2025 21:06:45 -0700 Subject: [PATCH] Make edit images work --- .../pages/store/admin/edititem/edit.component.ts | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/MistoxWebsite.Client/src/app/pages/store/admin/edititem/edit.component.ts b/src/MistoxWebsite.Client/src/app/pages/store/admin/edititem/edit.component.ts index 0c6b7f6..272fefc 100644 --- a/src/MistoxWebsite.Client/src/app/pages/store/admin/edititem/edit.component.ts +++ b/src/MistoxWebsite.Client/src/app/pages/store/admin/edititem/edit.component.ts @@ -1,4 +1,4 @@ -import { Component } from '@angular/core'; +import { Component, ElementRef, ViewChild } from '@angular/core'; import { HttpClient } from '@angular/common/http'; import { FormsModule } from '@angular/forms'; import { Router, ActivatedRoute } from '@angular/router'; @@ -13,6 +13,7 @@ import { Product } from 'app/models/Product'; imports: [ FormsModule, CommonModule ] }) export class EditItemComponent { + @ViewChild('FileUpload') InputDOM!: ElementRef; readonly maxFileMB = 16; @@ -45,6 +46,7 @@ export class EditItemComponent { http.get("api/productimage/get?ProductID=" + img.productID + "&ImageID=" + img.imageID, { responseType: 'blob' }).subscribe(blob => { img.imageSrc = URL.createObjectURL(blob); this.imagePreviews.push(img.imageSrc); + this.selectedFiles.push(new File([blob], "EmptyName", {type: "image/jpeg"})); }); }); }, @@ -62,8 +64,6 @@ export class EditItemComponent { imagePreviews: string[] = []; onFileSelected(event: Event){ const fileInput = event.target as HTMLInputElement; - this.imagePreviews = []; - this.selectedFiles = []; if (!fileInput.files?.length){ return; @@ -83,13 +83,19 @@ export class EditItemComponent { this.imagePreviews.push(reader.result as string); } reader.readAsDataURL(file); + + this.InputDOM.nativeElement.value = ''; } } + RemovePhoto(imagePreview: string){ + let i = this.imagePreviews.indexOf(imagePreview); + this.imagePreviews.splice(i, 1); + this.selectedFiles.splice(i, 1); + } + onSubmit(){ - const formData = new FormData(); - // Append non-file fields formData.append("Name", this.newItem.name); formData.append("Description", this.newItem.description);