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

Commit 69bcb5c

Browse files
feat(#773): use stencil/store in wc remote
1 parent 2a756f5 commit 69bcb5c

File tree

7 files changed

+99
-88
lines changed

7 files changed

+99
-88
lines changed

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
1+
<a name="1.5.0"></a>
2+
3+
# [1.5.0](https://github.com/deckgo/deckdeckgo/compare/v1.4.0...v1.5.0) (In progress)
4+
5+
### Web Components
6+
7+
- remote: v1.2.0 ([CHANGELOG](https://github.com/deckgo/deckdeckgo/blob/master/webcomponents/remote/CHANGELOG.md))
8+
19
<a name="1.4.0"></a>
210

311
# [1.4.0](https://github.com/deckgo/deckdeckgo/compare/v1.3.0...v1.4.0) (2020-06-25)

webcomponents/remote/CHANGELOG.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
1+
# 1.2.0 (2020-06-30)
2+
3+
### Features
4+
5+
- migrate `rxjs` to `@stencil/store` ([#773](https://github.com/deckgo/deckdeckgo/issues/773))
6+
17
# 1.1.1 (2020-05-11)
28

3-
### Feat
9+
### Features
410

511
- update Stencil for Gatsby build
612

webcomponents/remote/package-lock.json

Lines changed: 7 additions & 14 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

webcomponents/remote/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@deckdeckgo/remote",
3-
"version": "1.1.1",
3+
"version": "1.2.0",
44
"description": "Present and interact with your DeckDeckGo's PWA presentation",
55
"main": "dist/index.js",
66
"module": "dist/index.mjs",
@@ -24,14 +24,14 @@
2424
"dependencies": {
2525
"@deckdeckgo/remote-utils": "^1.0.0",
2626
"@deckdeckgo/utils": "^1.1.0",
27-
"rxjs": "^6.5.5",
2827
"socket.io-client": "^2.3.0"
2928
},
3029
"devDependencies": {
3130
"@deckdeckgo/types": "^1.1.0",
3231
"@stencil/core": "^1.13.0",
3332
"@stencil/postcss": "^1.0.1",
3433
"@stencil/sass": "^1.3.1",
34+
"@stencil/store": "^1.3.0",
3535
"@stencil/utils": "0.0.5",
3636
"@types/socket.io-client": "^1.4.32",
3737
"@types/webrtc": "0.0.26",

webcomponents/remote/src/components/deckdeckgo-remote/deckdeckgo-remote.tsx

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

3-
import {Subscription} from 'rxjs';
4-
53
// Types
64
import {
75
DeckdeckgoDrawAction,
@@ -12,20 +10,22 @@ import {
1210
DeckdeckgoSlideAction,
1311
DeckdeckgoDeckDefinition,
1412
DeckdeckgoSlideDefinition,
15-
ConnectionState
13+
ConnectionState,
1614
} from '@deckdeckgo/types';
1715

1816
import {isMobile} from '@deckdeckgo/utils';
1917

2018
import {Arrow, Circle, Drawable, Pencil} from '@deckdeckgo/remote-utils';
2119

20+
import store from '../../stores/remote.store';
21+
2222
// Services
2323
import {CommunicationService} from '../../services/communication/communication.service';
2424

2525
@Component({
2626
tag: 'deckgo-remote',
2727
styleUrl: 'deckdeckgo-remote.scss',
28-
shadow: true
28+
shadow: true,
2929
})
3030
export class DeckdeckgoRemote {
3131
@Element() el: HTMLElement;
@@ -46,8 +46,8 @@ export class DeckdeckgoRemote {
4646
@Event() state: EventEmitter<ConnectionState>;
4747
@Event() event: EventEmitter<DeckdeckgoEvent>;
4848

49-
private subscriptionState: Subscription;
50-
private subscriptionEvent: Subscription;
49+
private destroyStateListener;
50+
private destroyEventListener;
5151

5252
private ctx: CanvasRenderingContext2D;
5353
private drawables: Drawable[] = [];
@@ -64,26 +64,26 @@ export class DeckdeckgoRemote {
6464
}
6565

6666
async componentDidLoad() {
67-
this.subscriptionState = this.communicationService.watchState().subscribe((state: ConnectionState) => {
67+
this.destroyStateListener = store.onChange('state', (state: ConnectionState) => {
6868
this.state.emit(state);
6969
});
7070

71-
this.subscriptionEvent = this.communicationService.watchEvent().subscribe(async (event: DeckdeckgoEvent) => {
72-
if (event.emitter === DeckdeckgoEventEmitter.APP) {
73-
if (event.type === DeckdeckgoEventType.SLIDES_REQUEST) {
71+
this.destroyEventListener = store.onChange('$event', async ($event: DeckdeckgoEvent) => {
72+
if ($event.emitter === DeckdeckgoEventEmitter.APP) {
73+
if ($event.type === DeckdeckgoEventType.SLIDES_REQUEST) {
7474
// If app is asking for the deck length, how many slides, we answer directly
7575
await this.sendSlidesToApp(DeckdeckgoEventType.SLIDES_ANSWER);
76-
} else if (event.type === DeckdeckgoEventType.CLEAR_SLIDE) {
76+
} else if ($event.type === DeckdeckgoEventType.CLEAR_SLIDE) {
7777
await this.clear();
78-
} else if (event.type === DeckdeckgoEventType.START_DRAWING) {
79-
await this.startDrawing(event as DeckdeckgoEventDraw);
80-
} else if (event.type === DeckdeckgoEventType.END_DRAWING) {
81-
await this.endDrawing(event as DeckdeckgoEventDraw);
82-
} else if (event.type === DeckdeckgoEventType.DRAW) {
83-
await this.draw(event as DeckdeckgoEventDraw);
78+
} else if ($event.type === DeckdeckgoEventType.START_DRAWING) {
79+
await this.startDrawing($event as DeckdeckgoEventDraw);
80+
} else if ($event.type === DeckdeckgoEventType.END_DRAWING) {
81+
await this.endDrawing($event as DeckdeckgoEventDraw);
82+
} else if ($event.type === DeckdeckgoEventType.DRAW) {
83+
await this.draw($event as DeckdeckgoEventDraw);
8484
} else {
8585
// Else it's a command to apply on the deck, we propagate
86-
this.event.emit(event);
86+
this.event.emit($event);
8787
}
8888
}
8989
});
@@ -106,12 +106,12 @@ export class DeckdeckgoRemote {
106106
async componentDidUnload() {
107107
await this.communicationService.disconnect();
108108

109-
if (this.subscriptionState) {
110-
this.subscriptionState.unsubscribe();
109+
if (this.destroyStateListener) {
110+
this.destroyStateListener();
111111
}
112112

113-
if (this.subscriptionEvent) {
114-
this.subscriptionEvent.unsubscribe();
113+
if (this.destroyEventListener) {
114+
this.destroyEventListener();
115115
}
116116
}
117117

@@ -210,7 +210,7 @@ export class DeckdeckgoRemote {
210210
{x: this.startX, y: this.startY},
211211
{
212212
x: this.startX,
213-
y: this.startY
213+
y: this.startY,
214214
},
215215
event.color
216216
)
@@ -245,7 +245,7 @@ export class DeckdeckgoRemote {
245245
{x: this.startX, y: this.startY},
246246
{
247247
x: toX,
248-
y: toY
248+
y: toY,
249249
},
250250
event.color
251251
);
@@ -277,7 +277,7 @@ export class DeckdeckgoRemote {
277277
{x: this.startX, y: this.startY},
278278
{
279279
x: toX,
280-
y: toY
280+
y: toY,
281281
},
282282
event.color
283283
);
@@ -308,7 +308,7 @@ export class DeckdeckgoRemote {
308308
emitter: DeckdeckgoEventEmitter.DECK,
309309
length: this.length,
310310
deck: this.deck,
311-
mobile: isMobile()
311+
mobile: isMobile(),
312312
});
313313

314314
resolve();
@@ -339,7 +339,7 @@ export class DeckdeckgoRemote {
339339
type: DeckdeckgoEventType.SLIDE_UPDATE,
340340
emitter: DeckdeckgoEventEmitter.DECK,
341341
index: index,
342-
slide: slide
342+
slide: slide,
343343
});
344344

345345
resolve();
@@ -351,7 +351,7 @@ export class DeckdeckgoRemote {
351351
return new Promise<void>((resolve) => {
352352
this.communicationService.emit({
353353
type: DeckdeckgoEventType.DELETE_SLIDE,
354-
emitter: DeckdeckgoEventEmitter.DECK
354+
emitter: DeckdeckgoEventEmitter.DECK,
355355
});
356356

357357
resolve();
@@ -364,7 +364,7 @@ export class DeckdeckgoRemote {
364364
this.communicationService.emit({
365365
type: DeckdeckgoEventType.DECK_REVEAL_UPDATE,
366366
emitter: DeckdeckgoEventEmitter.DECK,
367-
reveal: reveal
367+
reveal: reveal,
368368
});
369369

370370
resolve();
@@ -406,7 +406,7 @@ export class DeckdeckgoRemote {
406406
type: DeckdeckgoEventType.SLIDE_TO,
407407
emitter: DeckdeckgoEventEmitter.DECK,
408408
index: index,
409-
speed: speed
409+
speed: speed,
410410
});
411411
}
412412

@@ -415,7 +415,7 @@ export class DeckdeckgoRemote {
415415
this.communicationService.emit({
416416
type: DeckdeckgoEventType.SLIDE_ACTION,
417417
emitter: DeckdeckgoEventEmitter.DECK,
418-
action: DeckdeckgoSlideAction.PLAY
418+
action: DeckdeckgoSlideAction.PLAY,
419419
});
420420
}
421421

@@ -424,7 +424,7 @@ export class DeckdeckgoRemote {
424424
this.communicationService.emit({
425425
type: DeckdeckgoEventType.SLIDE_ACTION,
426426
emitter: DeckdeckgoEventEmitter.DECK,
427-
action: DeckdeckgoSlideAction.PAUSE
427+
action: DeckdeckgoSlideAction.PAUSE,
428428
});
429429
}
430430

0 commit comments

Comments
 (0)