left-side navi 에 내프로필 컴포넌트화.

This commit is contained in:
leejinho 2019-11-25 09:56:59 +09:00
parent 4f31f81c26
commit e916203994
8 changed files with 133 additions and 16 deletions

View File

@ -140,10 +140,12 @@
</mat-tab>
</mat-tab-group>
<div class="myprofile">
<span class="myprofile-img"></span>
<span>내프로필</span>
</div>
<ucap-profile-my-profile-widget
[profileImageRoot]="sessionVerinfo.profileRoot"
[profileImageFile]="loginRes.userInfo.profileImageFile"
(click)="onClickOpenProfile(loginRes.userInfo)"
class="myprofile"
></ucap-profile-my-profile-widget>
<div class="left-side-tabs-body">
<div

View File

@ -45,16 +45,8 @@
color: #ffffff;
font-size: 11px;
text-align: center;
.myprofile-img {
display: block;
border-radius: 10px;
height: 42px;
width: 42px;
background-color: #efefef;
align-self: center;
margin-bottom: 6px;
}
z-index: 1;
cursor: pointer;
}
::ng-deep .organization-side {

View File

@ -30,6 +30,11 @@ import {
} from '@ucap-webmessenger/protocol-query';
import { MatTabChangeEvent, MatTabGroup } from '@angular/material';
import { RightDrawer } from '@app/types';
import { LoginResponse } from '@ucap-webmessenger/protocol-authentication';
import { SessionStorageService } from '@ucap-webmessenger/web-storage';
import { KEY_LOGIN_RES_INFO } from '@app/types/login-res-info.type';
import { VersionInfo2Response } from '@ucap-webmessenger/api-public';
import { KEY_VER_INFO } from '@app/types/ver-info.type';
export enum MainMenu {
Group = 'GROUP',
@ -67,11 +72,22 @@ export class LeftSideComponent implements OnInit, OnDestroy {
MainMenu = MainMenu;
sessionVerinfo: VersionInfo2Response;
loginRes: LoginResponse;
constructor(
private store: Store<any>,
private dialogService: DialogService,
private sessionStorageService: SessionStorageService,
private logger: NGXLogger
) {}
) {
this.loginRes = this.sessionStorageService.get<LoginResponse>(
KEY_LOGIN_RES_INFO
);
this.sessionVerinfo = this.sessionStorageService.get<VersionInfo2Response>(
KEY_VER_INFO
);
}
ngOnInit() {
this.badgeChatUnReadCountSubscription = this.store

View File

@ -0,0 +1,12 @@
<div class="myprofile">
<span class="myprofile-img">
<img
class="thumbnail"
ucapImage
[base]="profileImageRoot"
[path]="profileImageFile"
[default]="'assets/images/img_nophoto_50.png'"
/>
</span>
<span>내프로필</span>
</div>

View File

@ -0,0 +1,26 @@
.myprofile {
position: absolute;
display: flex;
flex-flow: column;
justify-content: center;
height: 80px;
width: 68px;
bottom: 10px;
color: #ffffff;
font-size: 11px;
text-align: center;
.myprofile-img {
display: block;
border-radius: 10px;
height: 42px;
width: 42px;
background-color: #efefef;
align-self: center;
margin-bottom: 6px;
.thumbnail {
border-radius: 10px;
}
}
}

View File

@ -0,0 +1,25 @@
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { MyProfileWidgetComponent } from './my-profile-widget.component';
describe('MyProfileWidgetComponent', () => {
let component: MyProfileWidgetComponent;
let fixture: ComponentFixture<MyProfileWidgetComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ MyProfileWidgetComponent ]
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(MyProfileWidgetComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});

View File

@ -0,0 +1,38 @@
import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';
import { UserInfo } from '@ucap-webmessenger/protocol-room';
import {
UserInfoSS,
UserInfoF,
UserInfoDN
} from '@ucap-webmessenger/protocol-query';
@Component({
selector: 'ucap-profile-my-profile-widget',
templateUrl: './my-profile-widget.component.html',
styleUrls: ['./my-profile-widget.component.scss']
})
export class MyProfileWidgetComponent implements OnInit {
@Input()
profileImageRoot: string;
@Input()
profileImageFile: string;
@Output()
openProfile = new EventEmitter<
UserInfo | UserInfoSS | UserInfoF | UserInfoDN
>();
constructor() {}
ngOnInit() {}
onClickOpenProfile(
event: MouseEvent,
userInfo: UserInfo | UserInfoSS | UserInfoF | UserInfoDN
) {
event.preventDefault();
event.stopPropagation();
this.openProfile.emit(userInfo);
}
}

View File

@ -14,8 +14,14 @@ import { UCapUiModule } from '@ucap-webmessenger/ui';
import { ListItemComponent } from './components/list-item.component';
import { UserListItemComponent } from './components/user-list-item.component';
import { ProfileComponent } from './components/profile.component';
import { MyProfileWidgetComponent } from './components/my-profile-widget.component';
const COMPONENTS = [ListItemComponent, UserListItemComponent, ProfileComponent];
const COMPONENTS = [
ListItemComponent,
UserListItemComponent,
ProfileComponent,
MyProfileWidgetComponent
];
const SERVICES = [];