This repository was archived by the owner on Feb 6, 2024. It is now read-only.
File tree Expand file tree Collapse file tree 2 files changed +18
-0
lines changed
components/deckdeckgo-remote Expand file tree Collapse file tree 2 files changed +18
-0
lines changed Original file line number Diff line number Diff line change @@ -23,7 +23,9 @@ import {
2323export namespace Components {
2424
2525 interface DeckgoRemote {
26+ 'autoConnect' : boolean ;
2627 'connect' : ( ) => Promise < void > ;
28+ 'disconnect' : ( ) => Promise < void > ;
2729 'height' : number ;
2830 'length' : number ;
2931 'moveDraw' : ( leftOffset : number , transitionDuration : string ) => Promise < void > ;
@@ -36,6 +38,7 @@ export namespace Components {
3638 'width' : number ;
3739 }
3840 interface DeckgoRemoteAttributes extends StencilHTMLAttributes {
41+ 'autoConnect' ?: boolean ;
3942 'height' ?: number ;
4043 'length' ?: number ;
4144 'onEvent' ?: ( event : CustomEvent < DeckdeckgoEvent > ) => void ;
Original file line number Diff line number Diff line change @@ -32,6 +32,8 @@ export class DeckdeckgoRemote {
3232
3333 @Prop ( ) slides : DeckdeckgoSlideDefinition [ ] ;
3434
35+ @Prop ( ) autoConnect : boolean = true ;
36+
3537 @State ( ) canvasWidth : number ;
3638
3739 @Event ( ) state : EventEmitter < ConnectionState > ;
@@ -106,6 +108,10 @@ export class DeckdeckgoRemote {
106108 @Watch ( 'room' )
107109 @Watch ( 'server' )
108110 private async initConnect ( ) {
111+ if ( ! this . autoConnect ) {
112+ return ;
113+ }
114+
109115 await this . connect ( ) ;
110116 }
111117
@@ -127,6 +133,15 @@ export class DeckdeckgoRemote {
127133 } ) ;
128134 }
129135
136+ @Method ( )
137+ disconnect ( ) : Promise < void > {
138+ return new Promise < void > ( async ( resolve ) => {
139+ await this . communicationService . disconnect ( ) ;
140+
141+ resolve ( ) ;
142+ } ) ;
143+ }
144+
130145 private initContext ( ) : Promise < void > {
131146 return new Promise < void > ( ( resolve ) => {
132147 const canvas : HTMLCanvasElement = this . el . shadowRoot . querySelector ( 'canvas' ) ;
You can’t perform that action at this time.
0 commit comments