Built-in Image Preview
LiveViewJS ships with build-in support for image previews when uploading files.
Getting Entries from meta.uploads
The list of UploadEntry
objects for a given upload config can be found in the meta.uploads
object based on the name
you provided when configuring it using the allowUpload
method. For example, if you configured an upload config named
photos
, you can access the list of UploadEntry
objects using meta.uploads.photos
. Here is an example of accessing
the list of UploadEntry
objects for a given upload config:
...
render: (context, meta) => {
...
<div>
${meta.uploads.photos.map((entry) => {
return html`
<!-- render the entry -->
`;
})}
</div>
...
}
live_img_preview
Tag
In order to use the built-in image preview, you must use the live_img_preview
tag. This tag takes a UploadEntry
and
renders an image preview of it.
...
render: (context, meta) => {
...
<div>${live_img_preview(entry)}</div>
...
}
All Together now
...
render: (context, meta) => {
...
<div>
${meta.uploads.photos.map((entry) => {
return html`
<div>${live_img_preview(entry)}</div>
`;
})}
</div>
...
}
That's it! 🤯
Credit where credit is due
Thanks to the Phoenix LiveView folks that built this! 🙌 This is a great example of why we built on top of the existing LiveView client-side JS.