화상회의 이벤트 권한처리

This commit is contained in:
leejinho 2020-02-25 08:40:25 +09:00
parent f7700a76c0
commit 94a0baa45e
8 changed files with 21 additions and 3 deletions

View File

@ -200,6 +200,7 @@
[eventRemained$]="eventRemainedSubject.asObservable()" [eventRemained$]="eventRemainedSubject.asObservable()"
[userInfos$]="userInfoListSubject.asObservable()" [userInfos$]="userInfoListSubject.asObservable()"
[loginRes$]="loginResSubject.asObservable()" [loginRes$]="loginResSubject.asObservable()"
[authInfo]="authInfo"
[lock$]="lockSubject.asObservable()" [lock$]="lockSubject.asObservable()"
[sessionVerInfo]="sessionVerInfo" [sessionVerInfo]="sessionVerInfo"
[isShowUnreadCount]="getShowUnreadCount()" [isShowUnreadCount]="getShowUnreadCount()"

View File

@ -64,7 +64,8 @@ import {
KEY_ENVIRONMENTS_INFO, KEY_ENVIRONMENTS_INFO,
UserSelectDialogType, UserSelectDialogType,
RightDrawer, RightDrawer,
KEY_STICKER_HISTORY KEY_STICKER_HISTORY,
KEY_AUTH_INFO
} from '@app/types'; } from '@app/types';
import { import {
RoomInfo, RoomInfo,
@ -135,6 +136,7 @@ import {
ConferenceDetailDialogData ConferenceDetailDialogData
} from '../dialogs/conference/conference-detail.dialog.component'; } from '../dialogs/conference/conference-detail.dialog.component';
import { ConferenceService } from '@ucap-webmessenger/api-prompt'; import { ConferenceService } from '@ucap-webmessenger/api-prompt';
import { AuthResponse } from '@ucap-webmessenger/protocol-query';
@Component({ @Component({
selector: 'app-layout-messenger-messages', selector: 'app-layout-messenger-messages',
@ -168,6 +170,7 @@ export class MessagesComponent implements OnInit, OnDestroy, AfterViewInit {
chatMessages: UCapUiChatMessagesComponent; chatMessages: UCapUiChatMessagesComponent;
environmentsInfo: EnvironmentsInfo; environmentsInfo: EnvironmentsInfo;
authInfo: AuthResponse;
loginResSubscription: Subscription; loginResSubscription: Subscription;
loginResSubject = new BehaviorSubject<LoginResponse>(undefined); loginResSubject = new BehaviorSubject<LoginResponse>(undefined);
@ -262,6 +265,8 @@ export class MessagesComponent implements OnInit, OnDestroy, AfterViewInit {
this.environmentsInfo = this.sessionStorageService.get<EnvironmentsInfo>( this.environmentsInfo = this.sessionStorageService.get<EnvironmentsInfo>(
KEY_ENVIRONMENTS_INFO KEY_ENVIRONMENTS_INFO
); );
this.authInfo = this.sessionStorageService.get<AuthResponse>(KEY_AUTH_INFO);
} }
ngOnInit() { ngOnInit() {
@ -1213,7 +1218,7 @@ export class MessagesComponent implements OnInit, OnDestroy, AfterViewInit {
ConferenceDetailDialogResult ConferenceDetailDialogResult
>(ConferenceDetailDialogComponent, { >(ConferenceDetailDialogComponent, {
width: '600px', width: '600px',
hasBackdrop: false, restoreFocus: false,
data: { data: {
detail: param detail: param
} }

View File

@ -166,6 +166,7 @@
<ucap-chat-message-box-video-conference <ucap-chat-message-box-video-conference
*ngSwitchCase="EventType.VideoConference" *ngSwitchCase="EventType.VideoConference"
[message]="message" [message]="message"
[authInfo]="authInfo"
(conferenceDetail)="onClickConferenceDetail($event)" (conferenceDetail)="onClickConferenceDetail($event)"
(conferenceJoin)="onClickConferenceJoin($event)" (conferenceJoin)="onClickConferenceJoin($event)"
> >

View File

@ -24,6 +24,7 @@ import { NGXLogger } from 'ngx-logger';
import moment from 'moment'; import moment from 'moment';
import { FileDownloadItem } from '@ucap-webmessenger/api'; import { FileDownloadItem } from '@ucap-webmessenger/api';
import { RoomInfo } from '@ucap-webmessenger/protocol-room'; import { RoomInfo } from '@ucap-webmessenger/protocol-room';
import { AuthResponse } from '@ucap-webmessenger/protocol-query';
@Component({ @Component({
selector: 'ucap-chat-message-box', selector: 'ucap-chat-message-box',
@ -65,6 +66,9 @@ export class MessageBoxComponent implements OnInit, AfterViewInit {
@Input() @Input()
unreadCount: number; unreadCount: number;
@Input()
authInfo: AuthResponse;
@Output() @Output()
openProfile = new EventEmitter<number>(); openProfile = new EventEmitter<number>();

View File

@ -45,7 +45,7 @@
</li> </li>
</ul> </ul>
<div class="btn-box"> <div class="btn-box" *ngIf="!!authInfo && authInfo.canVideoConference">
<ul> <ul>
<li> <li>
<button mat-button (click)="onClickDetailView()"> <button mat-button (click)="onClickDetailView()">

View File

@ -4,6 +4,7 @@ import {
VideoConferenceEventJson, VideoConferenceEventJson,
Info Info
} from '@ucap-webmessenger/protocol-event'; } from '@ucap-webmessenger/protocol-event';
import { AuthResponse } from '@ucap-webmessenger/protocol-query';
@Component({ @Component({
selector: 'ucap-chat-message-box-video-conference', selector: 'ucap-chat-message-box-video-conference',
@ -13,6 +14,8 @@ import {
export class VideoConferenceComponent implements OnInit { export class VideoConferenceComponent implements OnInit {
@Input() @Input()
message: Info<VideoConferenceEventJson>; message: Info<VideoConferenceEventJson>;
@Input()
authInfo: AuthResponse;
@Output() @Output()
conferenceDetail = new EventEmitter<VideoConferenceEventJson>(); conferenceDetail = new EventEmitter<VideoConferenceEventJson>();

View File

@ -56,6 +56,7 @@
<ucap-chat-message-box <ucap-chat-message-box
#chatMessageBox #chatMessageBox
*ngFor="let message of scroll.viewPortItems; trackBy: trackByEvent" *ngFor="let message of scroll.viewPortItems; trackBy: trackByEvent"
[authInfo]="authInfo"
[id]="message.seq" [id]="message.seq"
[message]="message" [message]="message"
[mine]="message.senderSeq === loginRes?.userSeq" [mine]="message.senderSeq === loginRes?.userSeq"

View File

@ -34,6 +34,7 @@ import { VirtualScrollerComponent, IPageInfo } from 'ngx-virtual-scroller';
import { MessageBoxComponent } from './message-box.component'; import { MessageBoxComponent } from './message-box.component';
import { PerfectScrollbarDirective } from 'ngx-perfect-scrollbar'; import { PerfectScrollbarDirective } from 'ngx-perfect-scrollbar';
import { debounce } from 'rxjs/operators'; import { debounce } from 'rxjs/operators';
import { AuthResponse } from '@ucap-webmessenger/protocol-query';
@Component({ @Component({
selector: 'ucap-chat-messages', selector: 'ucap-chat-messages',
@ -60,6 +61,8 @@ export class MessagesComponent implements OnInit, OnDestroy {
sessionVerInfo: VersionInfo2Response; sessionVerInfo: VersionInfo2Response;
@Input() @Input()
userInfos$: Observable<UserInfo[]>; userInfos$: Observable<UserInfo[]>;
@Input()
authInfo: AuthResponse;
@Input() @Input()
lock$: Observable<boolean>; lock$: Observable<boolean>;