Refactor and minor fixes

This commit is contained in:
Andras Schmelczer 2022-09-21 21:57:58 +02:00
parent 2dc9c45642
commit fe75f9af88
No known key found for this signature in database
GPG key ID: 0EA1BC97D0AB076E
31 changed files with 187 additions and 193 deletions

View file

@ -1,28 +1,13 @@
import { createElement } from '../../../helper/create-element';
import { ResponsiveImage } from '../../../types/responsive-image';
import { url } from '../../../types/url';
import { PageElement } from '../../page-element';
import { Image } from '../image/image';
import { VideoParameters } from './video-parameters';
import { generate } from './video.html';
export interface VideoParameters {
mp4: url;
webm: url;
posterWebP: ResponsiveImage;
posterJpeg: ResponsiveImage;
invertButton?: boolean;
}
export class Video extends PageElement {
private video: HTMLVideoElement;
public constructor(options: VideoParameters) {
super(createElement(generate(options)));
this.attachElementByReplacing(
'.poster',
new Image(options.posterWebP, options.posterJpeg, `thumbnail for the video`, false)
);
this.video = this.query('video') as HTMLVideoElement;
this.video.addEventListener('click', this.startVideo.bind(this));
this.video.addEventListener('play', () =>