Skip to content
This repository was archived by the owner on Feb 6, 2024. It is now read-only.

Commit 3e416e0

Browse files
refactor(#7): extract unify event to utils
1 parent 8685ac3 commit 3e416e0

File tree

3 files changed

+26
-17
lines changed

3 files changed

+26
-17
lines changed

src/components/deck/deckdeckgo-deck/deckdeckgo-deck.tsx

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
import {Component, Element, Listen, Method, Prop, State} from '@stencil/core';
22

3+
import {DeckDeckGoUtils} from '../../utils/deckdeckgo-utils';
4+
35
interface DeltaX {
46
slider: HTMLElement
57
swipeLeft: boolean;
@@ -110,12 +112,8 @@ export class DeckdeckgoDeck {
110112
this.blockSlide = true;
111113
}
112114

113-
private unify(e) {
114-
return e.changedTouches ? e.changedTouches[0] : e;
115-
}
116-
117115
private start(e: Event) {
118-
this.startX = this.unify(e).clientX;
116+
this.startX = DeckDeckGoUtils.unifyEvent(e).clientX;
119117
}
120118

121119
private async move(e: Event) {
@@ -207,7 +205,7 @@ export class DeckdeckgoDeck {
207205
return;
208206
}
209207

210-
const currentX: number = this.unify(e).clientX;
208+
const currentX: number = DeckDeckGoUtils.unifyEvent(e).clientX;
211209

212210
if (this.startX === currentX) {
213211
resolve(null);
@@ -370,15 +368,15 @@ export class DeckdeckgoDeck {
370368

371369
@Method()
372370
doPrint(): Promise<void> {
373-
return new Promise<void>(async (resolve) => {
374-
if (window) {
375-
await this.lazyLoadAllImages();
371+
return new Promise<void>(async (resolve) => {
372+
if (window) {
373+
await this.lazyLoadAllImages();
376374

377-
window.print();
378-
}
375+
window.print();
376+
}
379377

380-
resolve();
381-
});
378+
resolve();
379+
});
382380
}
383381

384382
private lazyLoadAllImages(): Promise<any[]> {
@@ -395,8 +393,11 @@ export class DeckdeckgoDeck {
395393

396394
render() {
397395
return [
398-
<div class="deckgo-deck"><slot/></div>,
399-
<div class="deckgo-pager">{this.pager ? <deckgo-pager active-index={this.activeIndex} length={this.length} percentage={this.pagerPercentage}></deckgo-pager> : ''}</div>
396+
<div class="deckgo-deck">
397+
<slot/>
398+
</div>,
399+
<div class="deckgo-pager">{this.pager ? <deckgo-pager active-index={this.activeIndex} length={this.length}
400+
percentage={this.pagerPercentage}></deckgo-pager> : ''}</div>
400401
]
401402
}
402403

src/components/slides/deckdeckgo-slide-code/deckdeckgo-slide-code.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import {Component, Element, Event, EventEmitter, Method, Prop, State} from '@stencil/core';
22

33
import {DeckdeckgoSlide, DeckDeckGoSlideUtils} from '../deckdeckgo-slide';
4+
import {DeckDeckGoUtils} from '../../utils/deckdeckgo-utils';
45

56
enum DeckdeckgoSlideCodeAction {
67
SWIPE,
@@ -155,15 +156,15 @@ export class DeckdeckgoSlideCode implements DeckdeckgoSlide {
155156
}
156157

157158
private touchScrollStart(event: TouchEvent) {
158-
this.startX = event.changedTouches ? event.changedTouches[0].clientX : null;
159+
this.startX = DeckDeckGoUtils.unifyEvent(event).clientX;
159160
}
160161

161162
private touchScrollMove(event: TouchEvent) {
162163
if (this.action) {
163164
return;
164165
}
165166

166-
const currentX: number = event.changedTouches ? event.changedTouches[0].clientX : null;
167+
const currentX: number = DeckDeckGoUtils.unifyEvent(event).clientX;
167168

168169
const swipeLeft: boolean = this.startX > currentX + this.detectThreshold;
169170
const swipeRight: boolean = this.startX < currentX - this.detectThreshold;
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
export class DeckDeckGoUtils {
2+
3+
static unifyEvent(e: any): any {
4+
return e.changedTouches ? e.changedTouches[0] : e;
5+
}
6+
7+
}

0 commit comments

Comments
 (0)