diff --git a/openvidu-components-angular/projects/openvidu-angular/src/lib/components/layout/layout.component.html b/openvidu-components-angular/projects/openvidu-angular/src/lib/components/layout/layout.component.html index db8e1767..73a3a1f8 100644 --- a/openvidu-components-angular/projects/openvidu-angular/src/lib/components/layout/layout.component.html +++ b/openvidu-components-angular/projects/openvidu-angular/src/lib/components/layout/layout.component.html @@ -1,35 +1,23 @@
- - - - +
+ +
+ - - -
- -
-
- - - - - - - - -
- -
-
+
+ +
diff --git a/openvidu-components-angular/projects/openvidu-angular/src/lib/components/layout/layout.component.ts b/openvidu-components-angular/projects/openvidu-angular/src/lib/components/layout/layout.component.ts index 86815573..abf429c1 100644 --- a/openvidu-components-angular/projects/openvidu-angular/src/lib/components/layout/layout.component.ts +++ b/openvidu-components-angular/projects/openvidu-angular/src/lib/components/layout/layout.component.ts @@ -1,4 +1,4 @@ -import { AfterViewInit, Component, ContentChild, OnDestroy, OnInit, TemplateRef } from '@angular/core'; +import { AfterViewInit, Component, ComponentRef, ContentChild, Directive, Input, OnDestroy, OnInit, TemplateRef, Type, ViewChild, ViewContainerRef } from '@angular/core'; import { Subscription } from 'rxjs'; import { ParticipantService } from '../../services/participant/participant.service'; import { ParticipantAbstractModel } from '../../models/participant.model'; @@ -10,8 +10,13 @@ import { LayoutService } from '../../services/layout/layout.service'; styleUrls: ['./layout.component.css'] }) export class LayoutComponent implements OnInit, OnDestroy, AfterViewInit { - @ContentChild('customLocalParticipant', { read: TemplateRef }) customLocalParticipantTemplate: TemplateRef; - @ContentChild('customRemoteParticipants', { read: TemplateRef }) customRemoteParticipantsTemplate: TemplateRef; + // @ContentChild('customLocalParticipant', { read: TemplateRef }) customLocalParticipantTemplate: TemplateRef; + // @ContentChild('customRemoteParticipants', { read: TemplateRef }) customRemoteParticipantsTemplate: TemplateRef; + + @ContentChild('stream', { read: TemplateRef }) streamTemplate: TemplateRef; + + + localParticipant: ParticipantAbstractModel; remoteParticipants: ParticipantAbstractModel[] = []; @@ -22,6 +27,8 @@ export class LayoutComponent implements OnInit, OnDestroy, AfterViewInit { constructor(protected layoutService: LayoutService, protected participantService: ParticipantService) {} ngOnInit(): void { + this.layoutService.initialize(); + this.subscribeToUsers(); } diff --git a/openvidu-components-angular/projects/openvidu-angular/src/lib/components/panel/panel.component.html b/openvidu-components-angular/projects/openvidu-angular/src/lib/components/panel/panel.component.html index 4d957c87..2016d3c9 100644 --- a/openvidu-components-angular/projects/openvidu-angular/src/lib/components/panel/panel.component.html +++ b/openvidu-components-angular/projects/openvidu-angular/src/lib/components/panel/panel.component.html @@ -1 +1,9 @@ -

panel works!

+ + + + + + + + + diff --git a/openvidu-components-angular/projects/openvidu-angular/src/lib/components/panel/panel.component.ts b/openvidu-components-angular/projects/openvidu-angular/src/lib/components/panel/panel.component.ts index aabdad27..f27ce24e 100644 --- a/openvidu-components-angular/projects/openvidu-angular/src/lib/components/panel/panel.component.ts +++ b/openvidu-components-angular/projects/openvidu-angular/src/lib/components/panel/panel.component.ts @@ -1,15 +1,35 @@ -import { Component, OnInit } from '@angular/core'; +import { Component, ContentChild, OnInit, TemplateRef } from '@angular/core'; +import { skip, Subscription } from 'rxjs'; +import { MenuType } from '../../models/menu.model'; +import { SidenavMenuService } from '../../services/sidenav-menu/sidenav-menu.service'; @Component({ - selector: 'ov-panel', - templateUrl: './panel.component.html', - styleUrls: ['./panel.component.css'] + selector: 'ov-panel', + templateUrl: './panel.component.html', + styleUrls: ['./panel.component.css'] }) export class PanelComponent implements OnInit { + @ContentChild('participantsPanel', { read: TemplateRef }) participantsPanelTemplate: TemplateRef; + @ContentChild('chatPanel', { read: TemplateRef }) chatPanelTemplate: TemplateRef; - constructor() { } + isParticipantsPanelOpened: boolean; + isChatPanelOpened: boolean; + menuSubscription: Subscription; + constructor(protected menuService: SidenavMenuService) {} - ngOnInit(): void { - } + ngOnInit(): void { + this.subscribeToPanelToggling(); + } + subscribeToPanelToggling() { + this.menuSubscription = this.menuService.menuOpenedObs.pipe(skip(1)).subscribe((ev: { opened: boolean; type?: MenuType }) => { + this.isChatPanelOpened = ev.opened && ev.type === MenuType.CHAT; + this.isParticipantsPanelOpened = ev.opened && ev.type === MenuType.PARTICIPANTS; + }); + } + ngOnDestroy() { + this.isChatPanelOpened = false; + this.isParticipantsPanelOpened = false; + if (this.menuSubscription) this.menuSubscription.unsubscribe(); + } } diff --git a/openvidu-components-angular/projects/openvidu-angular/src/lib/components/session/session.component.html b/openvidu-components-angular/projects/openvidu-angular/src/lib/components/session/session.component.html index 85367ff7..45758150 100644 --- a/openvidu-components-angular/projects/openvidu-angular/src/lib/components/session/session.component.html +++ b/openvidu-components-angular/projects/openvidu-angular/src/lib/components/session/session.component.html @@ -1,6 +1,5 @@
- - - - + + + - - - - - - -
- -
+ +
+ +
+
- - - +