Fix race condition in `CropperController`

This commit is contained in:
Andreas Nedbal 2023-06-16 23:56:07 +02:00
parent 75a0702462
commit 3d21beff39
1 changed files with 12 additions and 8 deletions

View File

@ -34,15 +34,19 @@ export default class extends Controller {
if (this.inputTarget.files && this.inputTarget.files[0]) { if (this.inputTarget.files && this.inputTarget.files[0]) {
this.readImage(this.inputTarget.files[0], (src) => { this.readImage(this.inputTarget.files[0], (src) => {
this.cropperTarget.src = src; this.cropperTarget.addEventListener('load', () => {
new Croppr(this.cropperTarget, {
new Croppr(this.cropperTarget, { aspectRatio: parseFloat(this.aspectRatioValue),
aspectRatio: parseFloat(this.aspectRatioValue), startSize: [100, 100, '%'],
startSize: [100, 100, '%'], onCropStart: this.updateValues.bind(this),
onCropStart: this.updateValues.bind(this), onCropMove: this.updateValues.bind(this),
onCropMove: this.updateValues.bind(this), onCropEnd: this.updateValues.bind(this)
onCropEnd: this.updateValues.bind(this) });
}, {
once: true
}); });
this.cropperTarget.src = src;
}); });
} }
} }