Skip to content

Commit fe03458

Browse files
PS-73 [FIX] Ensures the image is not uploaded and displays an error if it exceeds the maximum size. (#702)
1 parent be3fca5 commit fe03458

File tree

4 files changed

+15
-2
lines changed

4 files changed

+15
-2
lines changed

js/build.templates.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

js/components/image.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,10 @@ Fliplet.FormBuilder.field('image', {
5151
},
5252
description: {
5353
type: String
54+
},
55+
isImageSizeExceeded: {
56+
type: Boolean,
57+
default: false
5458
}
5559
},
5660
data: {
@@ -228,7 +232,14 @@ Fliplet.FormBuilder.field('image', {
228232
return;
229233
}
230234

235+
if (img.width > $vm.customWidth || img.height > $vm.customHeight) {
236+
$vm.isImageSizeExceeded = true;
237+
238+
return;
239+
}
240+
231241
$vm.hasCorruptedImage = false;
242+
$vm.isImageSizeExceeded = false;
232243

233244
var scaledImage = loadImage.scale(img, options);
234245
var imgBase64Url = scaledImage.toDataURL(mimeType, $vm.jpegQuality);

templates/components/image.build.hbs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
/>
3030
</label>
3131
<p class="text-danger" v-if="hasCorruptedImage">{{T "widgets.form.image.invalid"}}</p>
32+
<p class="text-danger" v-if="isImageSizeExceeded">\{{$t("widgets.form.image.imageSizeExceeded", { maxImageSize: customWidth + 'x' + customHeight })}}</p>
3233
<p class="text-danger" v-if="$v.value.required === false && $v.value.$dirty">{{T
3334
"widgets.form.errors.required"
3435
}}</p>

translation.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@
2525
},
2626
"confirmMessage": "How do you want to choose your image?",
2727
"confirmLabel": "Choose Image",
28-
"required": "Please fill in required fields."
28+
"required": "Please fill in required fields.",
29+
"imageSizeExceeded": "Image dimensions are too large. Please upload an image {{maxImageSize}}px or smaller."
2930
},
3031
"interface": {
3132
"hidden": "Hidden"

0 commit comments

Comments
 (0)