Fix lagging

This commit is contained in:
Schmelczer András 2020-01-04 10:25:10 +01:00
commit f054546aa6
35 changed files with 497 additions and 494 deletions

View file

@ -1,5 +1,5 @@
@import "../../style/vars";
@import "../../style/mixins";
@import '../../style/vars';
@import '../../style/mixins';
#image-viewer {
@include center-children();

View file

@ -1,8 +1,8 @@
import { PageElement } from "../../framework/page-element";
import { PageElement } from '../../framework/page-element';
import { generate } from "./image-viewer.html";
import { createElement } from "../../framework/helper";
import { PageEvent, PageEventType } from "../../framework/page-event";
import { generate } from './image-viewer.html';
import { PageEvent, PageEventType } from '../../framework/page-event';
import { createElement } from '../../framework/helper/create-element';
export class PageImageViewer extends PageElement {
public constructor() {
@ -17,16 +17,16 @@ export class PageImageViewer extends PageElement {
return;
}
document.body.addEventListener("keydown", this.handleKeydown.bind(this));
document.body.addEventListener('keydown', this.handleKeydown.bind(this));
const images = Array.prototype.slice.call(
parent.getElement().querySelectorAll("img")
parent.getElement().querySelectorAll('img')
);
images
.filter(
(img: HTMLImageElement) =>
img.parentElement !== this.getElement() &&
!img.classList.contains("no-open")
!img.classList.contains('no-open')
)
.forEach(
(img: HTMLImageElement) => (img.onclick = this.handleClick.bind(this))
@ -35,22 +35,22 @@ export class PageImageViewer extends PageElement {
private handleClick(event: Event) {
(this.query(
"#photo"
'#photo'
) as HTMLImageElement).src = (event.target as HTMLImageElement).src;
PageImageViewer.show(this.getElement());
}
private handleKeydown(event: KeyboardEvent) {
if (event.key === "Escape") {
if (event.key === 'Escape') {
PageImageViewer.hide(this.getElement());
}
}
private static show(e: HTMLElement) {
e.style.display = "flex";
e.style.display = 'flex';
}
private static hide(e: HTMLElement) {
e.style.display = "none";
e.style.display = 'none';
}
}