2024-04-30 18:38:33 +01:00
|
|
|
import { Controller } from "@hotwired/stimulus"
|
|
|
|
|
|
|
|
export default class extends Controller {
|
|
|
|
static targets = ["imagePreview", "fileField", "deleteField", "clearBtn", "template"]
|
|
|
|
|
|
|
|
preview(event) {
|
|
|
|
const file = event.target.files[0];
|
|
|
|
if (file) {
|
|
|
|
const reader = new FileReader();
|
|
|
|
reader.onload = (e) => {
|
2024-06-13 14:37:27 -04:00
|
|
|
this.imagePreviewTarget.innerHTML = `<img src="${e.target.result}" alt="Preview" class="w-full h-full rounded-full object-cover" />`;
|
2024-04-30 18:38:33 +01:00
|
|
|
this.templateTarget.classList.add("hidden");
|
|
|
|
this.clearBtnTarget.classList.remove("hidden");
|
|
|
|
};
|
|
|
|
reader.readAsDataURL(file);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
clear() {
|
|
|
|
this.deleteFieldTarget.value = true;
|
|
|
|
this.fileFieldTarget.value = null;
|
|
|
|
this.templateTarget.classList.remove("hidden");
|
|
|
|
this.imagePreviewTarget.innerHTML = this.templateTarget.innerHTML;
|
|
|
|
this.clearBtnTarget.classList.add("hidden");
|
|
|
|
this.element.submit();
|
|
|
|
}
|
|
|
|
}
|