forked from mystiq/hydrogen-web
dom changes for timeline image view
This commit is contained in:
parent
5a31bc5f2b
commit
5aa2c7dc5c
1 changed files with 13 additions and 20 deletions
|
@ -19,27 +19,20 @@ import {renderMessage} from "./common.js";
|
|||
|
||||
export class ImageView extends TemplateView {
|
||||
render(t, vm) {
|
||||
// replace with css aspect-ratio once supported
|
||||
const heightRatioPercent = (vm.thumbnailHeight / vm.thumbnailWidth) * 100;
|
||||
const image = t.img({
|
||||
className: "picture",
|
||||
return renderMessage(t, vm,
|
||||
t.div([
|
||||
t.a({href: vm.lightboxUrl, className: "picture"}, [
|
||||
t.img({
|
||||
src: vm => vm.thumbnailUrl,
|
||||
width: vm.thumbnailWidth,
|
||||
height: vm.thumbnailHeight,
|
||||
loading: "lazy",
|
||||
alt: vm => vm.label,
|
||||
title: vm => vm.label,
|
||||
});
|
||||
const linkContainer = t.a({
|
||||
href: vm.lightboxUrl,
|
||||
style: `padding-top: ${heightRatioPercent}%; width: ${vm.thumbnailWidth}px;`
|
||||
}, [
|
||||
image,
|
||||
style: vm => `max-width: ${vm.thumbnailWidth}px; max-height: ${vm.thumbnailHeight}px;`
|
||||
}),
|
||||
t.time(vm.date + " " + vm.time)
|
||||
]),
|
||||
t.if(vm => vm.error, t.createTemplate((t, vm) => t.p({className: "error"}, vm.error)))
|
||||
]);
|
||||
|
||||
return renderMessage(t, vm,
|
||||
[t.div(linkContainer), t.p(t.time(vm.date + " " + vm.time))]
|
||||
])
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue