쪽지 right drawer 에서 left side navi 로 이동.

This commit is contained in:
leejinho 2019-11-22 17:25:51 +09:00
parent 8c6731b2e8
commit deb48ab7e8
10 changed files with 77 additions and 44 deletions

View File

@ -89,11 +89,7 @@
<mat-tab [aria-label]="MainMenu.Message"> <mat-tab [aria-label]="MainMenu.Message">
<ng-template mat-tab-label> <ng-template mat-tab-label>
<!--<mat-icon>device_hub</mat-icon>--> <!--<mat-icon>device_hub</mat-icon>-->
<div <div class="icon-item" matTooltip="Message" matTooltipPosition="after">
class="icon-item"
matTooltip="Organization"
matTooltipPosition="after"
>
<svg <svg
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
width="24" width="24"
@ -187,7 +183,9 @@
class="left-side-tabs-contents" class="left-side-tabs-contents"
style="display: none;" style="display: none;"
> >
<!--<app-layout-chat-left-sidenav-message></app-layout-chat-left-sidenav-message>--> <app-layout-chat-left-sidenav-message
[isVisible]="currentTabLable === MainMenu.Message"
></app-layout-chat-left-sidenav-message>
</div> </div>
<div <div
#tabs #tabs

View File

@ -35,6 +35,7 @@ export enum MainMenu {
Group = 'GROUP', Group = 'GROUP',
Chat = 'CAHT', Chat = 'CAHT',
Organization = 'ORGANIZATION', Organization = 'ORGANIZATION',
Message = 'MESSAGE',
Call = 'CALL', Call = 'CALL',
Conversation = 'CONVERSATION' Conversation = 'CONVERSATION'
} }
@ -180,11 +181,6 @@ export class LeftSideComponent implements OnInit, OnDestroy {
icon: 'add', icon: 'add',
tooltip: 'New Group Add', tooltip: 'New Group Add',
divisionType: 'GROUP_NEW_ADD' divisionType: 'GROUP_NEW_ADD'
},
{
icon: 'sms',
tooltip: 'Message',
divisionType: 'MESSAGE'
} }
]; ];
} }
@ -300,16 +296,6 @@ export class LeftSideComponent implements OnInit, OnDestroy {
this.onClickNewChat('TIMER'); this.onClickNewChat('TIMER');
} }
break; break;
case 'MESSAGE':
{
this.store.dispatch(
ChatStore.selectedRightDrawer({
req: RightDrawer.Message
})
);
}
break;
} }
} }
} }

View File

@ -2,10 +2,12 @@ import { CallComponent } from './call.component';
import { ChatComponent } from './chat.component'; import { ChatComponent } from './chat.component';
import { GroupComponent } from './group.component'; import { GroupComponent } from './group.component';
import { OrganizationComponent } from './organization.component'; import { OrganizationComponent } from './organization.component';
import { MessageBoxComponent } from './message.component';
export const LEFT_SIDENAV_COMPONENTS = [ export const LEFT_SIDENAV_COMPONENTS = [
CallComponent, CallComponent,
ChatComponent, ChatComponent,
GroupComponent, GroupComponent,
OrganizationComponent OrganizationComponent,
MessageBoxComponent
]; ];

View File

@ -1,4 +1,15 @@
<div class="message-box container"> <div class="message-box container">
<div class="current-head">
<h3>쪽지</h3>
<div class="btn-box">
<!-- <button mat-icon-button>
<mat-icon>timer</mat-icon>
</button>
<button mat-icon-button>
<mat-icon> add_comment</mat-icon>
</button> -->
</div>
</div>
<div class="list-search"> <div class="list-search">
<div class="searchbox"> <div class="searchbox">
<form [formGroup]="fgSearch" class="w-100-p"> <form [formGroup]="fgSearch" class="w-100-p">
@ -26,13 +37,15 @@
</form> </form>
</div> </div>
</div> </div>
<div class="container"> <div>
<mat-tab-group <mat-tab-group
#tabs
mat-stretch-tabs mat-stretch-tabs
animationDuration="0ms" animationDuration="0ms"
[selectedIndex]="0"
(selectedIndexChange)="onSelectedIndexChange($event)" (selectedIndexChange)="onSelectedIndexChange($event)"
> >
<mat-tab> <mat-tab [label]="MessageType.Receive">
<ng-template mat-tab-label> <ng-template mat-tab-label>
수신 수신
</ng-template> </ng-template>
@ -64,7 +77,7 @@
</dl> </dl>
</div> </div>
</mat-tab> </mat-tab>
<mat-tab> <mat-tab [label]="MessageType.Send">
<ng-template mat-tab-label> <ng-template mat-tab-label>
발신 발신
</ng-template> </ng-template>
@ -96,7 +109,7 @@
</dl> </dl>
</div> </div>
</mat-tab> </mat-tab>
<mat-tab> <mat-tab [label]="MessageType.Reservation">
<ng-template mat-tab-label> <ng-template mat-tab-label>
예약 예약
</ng-template> </ng-template>

View File

@ -1,3 +1,18 @@
.current-head {
h3 {
display: inline-flex;
padding-left: 10px;
align-items: center;
color: #ffffff;
}
.btn-box {
height: 100%;
margin-left: auto;
display: inline-flex;
align-items: center;
}
}
.list-search { .list-search {
display: flex; display: flex;
flex-direction: row; flex-direction: row;
@ -46,3 +61,7 @@
} }
} }
} }
.mat-tab-label-active {
opacity: 1;
}

View File

@ -1,6 +1,6 @@
import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { MessageBoxComponent } from './message-box.component'; import { MessageBoxComponent } from './message.component';
describe('MessageBoxComponent', () => { describe('MessageBoxComponent', () => {
let component: MessageBoxComponent; let component: MessageBoxComponent;
@ -8,9 +8,8 @@ describe('MessageBoxComponent', () => {
beforeEach(async(() => { beforeEach(async(() => {
TestBed.configureTestingModule({ TestBed.configureTestingModule({
declarations: [ MessageBoxComponent ] declarations: [MessageBoxComponent]
}) }).compileComponents();
.compileComponents();
})); }));
beforeEach(() => { beforeEach(() => {

View File

@ -3,7 +3,10 @@ import {
OnInit, OnInit,
OnDestroy, OnDestroy,
Output, Output,
EventEmitter EventEmitter,
ViewChild,
Input,
AfterViewChecked
} from '@angular/core'; } from '@angular/core';
import { Subscription, of } from 'rxjs'; import { Subscription, of } from 'rxjs';
import { Store, select } from '@ngrx/store'; import { Store, select } from '@ngrx/store';
@ -28,13 +31,21 @@ import { DeviceType } from '@ucap-webmessenger/core';
import { MessageStatusCode } from '@ucap-webmessenger/api'; import { MessageStatusCode } from '@ucap-webmessenger/api';
import { ContentType } from '@ucap-webmessenger/api-message'; import { ContentType } from '@ucap-webmessenger/api-message';
import { FormGroup, FormBuilder } from '@angular/forms'; import { FormGroup, FormBuilder } from '@angular/forms';
import { MatTabGroup } from '@angular/material';
@Component({ @Component({
selector: 'app-layout-chat-right-drawer-message-box', selector: 'app-layout-chat-left-sidenav-message',
templateUrl: './message-box.component.html', templateUrl: './message.component.html',
styleUrls: ['./message-box.component.scss'] styleUrls: ['./message.component.scss']
}) })
export class MessageBoxComponent implements OnInit, OnDestroy { export class MessageBoxComponent
implements OnInit, OnDestroy, AfterViewChecked {
@Input()
isVisible = false;
@ViewChild('tabs', { static: false }) tabs: MatTabGroup;
isInitTabs = false;
fgSearch: FormGroup; fgSearch: FormGroup;
userInfoList: UserInfo[]; userInfoList: UserInfo[];
@ -60,6 +71,7 @@ export class MessageBoxComponent implements OnInit, OnDestroy {
currentPage = 0; currentPage = 0;
ContentType = ContentType; ContentType = ContentType;
MessageType = MessageType;
constructor( constructor(
private store: Store<any>, private store: Store<any>,
@ -92,6 +104,17 @@ export class MessageBoxComponent implements OnInit, OnDestroy {
// 초기 검색은 수신함. // 초기 검색은 수신함.
this.getRetrieveMessage(MessageType.Receive, this.recieveCurrentPage); this.getRetrieveMessage(MessageType.Receive, this.recieveCurrentPage);
if (!!this.tabs) {
this.tabs.realignInkBar();
}
}
ngAfterViewChecked(): void {
if (!!this.tabs && !this.isInitTabs && this.isVisible) {
this.isInitTabs = true;
this.tabs.realignInkBar();
}
} }
ngOnDestroy(): void { ngOnDestroy(): void {

View File

@ -28,7 +28,5 @@
<!-- [E] About Chat room --> <!-- [E] About Chat room -->
<!-- [S] About Common --> <!-- [S] About Common -->
<app-layout-chat-right-drawer-message-box *ngSwitchCase="RightDrawer.Message">
</app-layout-chat-right-drawer-message-box>
<!-- [E] About Common --> <!-- [E] About Common -->
</ng-container> </ng-container>

View File

@ -1,11 +1,9 @@
import { FileBoxComponent } from './file-box.component'; import { FileBoxComponent } from './file-box.component';
import { AlbumBoxComponent } from './album-box.component'; import { AlbumBoxComponent } from './album-box.component';
import { RoomUserListComponent } from './room-user-list.component'; import { RoomUserListComponent } from './room-user-list.component';
import { MessageBoxComponent } from './message-box.component';
export const RIGHT_DRAWER_COMPONENTS = [ export const RIGHT_DRAWER_COMPONENTS = [
FileBoxComponent, FileBoxComponent,
AlbumBoxComponent, AlbumBoxComponent,
RoomUserListComponent, RoomUserListComponent
MessageBoxComponent
]; ];

View File

@ -4,8 +4,5 @@ export enum RightDrawer {
/** 대화방 > 파일함 */ /** 대화방 > 파일함 */
FileBox = 'FILE_BOX', FileBox = 'FILE_BOX',
/** 대화방 > 대화참여자목록 */ /** 대화방 > 대화참여자목록 */
RoomUser = 'ROOM_USER', RoomUser = 'ROOM_USER'
/** 쪽지함 */
Message = 'MESSAGE_BOX'
} }