2018-02-02 02:48:59 +00:00
|
|
|
<div class="non-autoplay-gifv" style="width: {{width}}px; height: {{height}}px;"
|
|
|
|
on:mouseover="onMouseOver(event)"
|
|
|
|
ref:node
|
|
|
|
>
|
|
|
|
{{#if playing}}
|
2018-03-31 17:45:11 +00:00
|
|
|
<AutoplayVideo
|
|
|
|
className="{{class}}"
|
|
|
|
ariaLabel="{{label}}"
|
|
|
|
:poster
|
|
|
|
:src
|
|
|
|
:width
|
|
|
|
:height
|
2018-02-02 02:48:59 +00:00
|
|
|
/>
|
|
|
|
{{else}}
|
2018-03-14 06:07:30 +00:00
|
|
|
<LazyImage
|
2018-04-11 03:02:42 +00:00
|
|
|
alt="{{label || ''}}"
|
|
|
|
title="{{label || ''}}"
|
2018-03-14 06:07:30 +00:00
|
|
|
src="{{staticSrc}}"
|
|
|
|
fallback="{{oneTransparentPixel}}"
|
|
|
|
:width
|
|
|
|
:height
|
|
|
|
background="var(--loading-bg)"
|
|
|
|
className="{{class}}"
|
|
|
|
/>
|
2018-02-02 02:48:59 +00:00
|
|
|
{{/if}}
|
2018-03-10 19:28:30 +00:00
|
|
|
<PlayVideoIcon className="{{playing ? 'hidden' : ''}}"/>
|
2018-02-02 02:48:59 +00:00
|
|
|
</div>
|
|
|
|
<style>
|
|
|
|
.non-autoplay-gifv {
|
|
|
|
cursor: zoom-in;
|
2018-03-10 19:28:30 +00:00
|
|
|
position: relative;
|
|
|
|
}
|
|
|
|
:global(.non-autoplay-gifv .play-video-icon) {
|
|
|
|
transition: opacity 0.2s linear;
|
2018-02-02 02:48:59 +00:00
|
|
|
}
|
|
|
|
</style>
|
|
|
|
<script>
|
|
|
|
import { mouseover } from '../_utils/events'
|
2018-03-10 19:28:30 +00:00
|
|
|
import PlayVideoIcon from './PlayVideoIcon.html'
|
2018-03-10 07:30:17 +00:00
|
|
|
import { ONE_TRANSPARENT_PIXEL } from '../_static/media'
|
2018-03-14 06:07:30 +00:00
|
|
|
import LazyImage from './LazyImage.html'
|
2018-03-31 17:45:11 +00:00
|
|
|
import AutoplayVideo from './AutoplayVideo.html'
|
2018-03-10 07:30:17 +00:00
|
|
|
|
2018-02-02 02:48:59 +00:00
|
|
|
export default {
|
|
|
|
methods: {
|
|
|
|
onMouseOver(mouseOver) {
|
|
|
|
this.set({playing: mouseOver})
|
|
|
|
}
|
|
|
|
},
|
|
|
|
events: {
|
2018-03-14 06:07:30 +00:00
|
|
|
mouseover
|
2018-03-10 07:30:17 +00:00
|
|
|
},
|
|
|
|
data: () => ({
|
|
|
|
oneTransparentPixel: ONE_TRANSPARENT_PIXEL
|
2018-03-10 19:28:30 +00:00
|
|
|
}),
|
|
|
|
components: {
|
2018-03-14 06:07:30 +00:00
|
|
|
PlayVideoIcon,
|
2018-03-31 17:45:11 +00:00
|
|
|
LazyImage,
|
|
|
|
AutoplayVideo
|
2018-03-10 19:28:30 +00:00
|
|
|
}
|
2018-02-02 02:48:59 +00:00
|
|
|
}
|
|
|
|
</script>
|