bug fixed

This commit is contained in:
병준 박 2019-10-18 12:49:23 +09:00
parent a16940b3f2
commit 5d2be25885
7 changed files with 99 additions and 56 deletions

View File

@ -5,7 +5,7 @@
<mat-icon>chat</mat-icon> <mat-icon>chat</mat-icon>
</button> </button>
</div> </div>
<mat-tab-group mat-stretch-tabs> <mat-tab-group mat-stretch-tabs animationDuration="0ms">
<mat-tab> <mat-tab>
<ng-template mat-tab-label> <ng-template mat-tab-label>
<mat-icon>group</mat-icon> <mat-icon>group</mat-icon>
@ -14,8 +14,14 @@
</mat-tab> </mat-tab>
<mat-tab> <mat-tab>
<ng-template mat-tab-label> <ng-template mat-tab-label>
<mat-icon [matBadgeHidden]="((badgeChatUnReadCount$ | async) <= 0)" [matBadge]="badgeChatUnReadCount$ | async" <mat-icon
matBadgeDescription="확인하지 않은 메시지가 있습니다." matBadgeColor="accent" matBadgePosition="above after">chat</mat-icon> [matBadgeHidden]="(badgeChatUnReadCount$ | async) <= 0"
[matBadge]="badgeChatUnReadCount$ | async"
matBadgeDescription="확인하지 않은 메시지가 있습니다."
matBadgeColor="accent"
matBadgePosition="above after"
>chat</mat-icon
>
</ng-template> </ng-template>
<app-layout-chat-left-sidenav-chat></app-layout-chat-left-sidenav-chat> <app-layout-chat-left-sidenav-chat></app-layout-chat-left-sidenav-chat>
</mat-tab> </mat-tab>

View File

@ -76,9 +76,7 @@ export class GroupComponent implements OnInit, OnDestroy {
loginRes: LoginResponse; loginRes: LoginResponse;
loginResSubscription: Subscription; loginResSubscription: Subscription;
sessionVerinfo = this.sessionStorageService.get<VersionInfo2Response>( sessionVerinfo: VersionInfo2Response;
KEY_VER_INFO
);
constructor( constructor(
private store: Store<any>, private store: Store<any>,
@ -88,6 +86,9 @@ export class GroupComponent implements OnInit, OnDestroy {
) {} ) {}
ngOnInit() { ngOnInit() {
this.sessionVerinfo = this.sessionStorageService.get<VersionInfo2Response>(
KEY_VER_INFO
);
const loginInfo = this.sessionStorageService.get<LoginInfo>(KEY_LOGIN_INFO); const loginInfo = this.sessionStorageService.get<LoginInfo>(KEY_LOGIN_INFO);
this.companyCode = loginInfo.companyCode; this.companyCode = loginInfo.companyCode;
@ -142,6 +143,7 @@ export class GroupComponent implements OnInit, OnDestroy {
} }
ngOnDestroy(): void { ngOnDestroy(): void {
this.logger.debug('ngOnDestroy');
if (!!this.loginResSubscription) { if (!!this.loginResSubscription) {
this.loginResSubscription.unsubscribe(); this.loginResSubscription.unsubscribe();
} }

View File

@ -2,7 +2,13 @@
<mat-card-header cdkDrag cdkDragRootElement=".cdk-overlay-pane" cdkDragHandle> <mat-card-header cdkDrag cdkDragRootElement=".cdk-overlay-pane" cdkDragHandle>
<mat-card-title>{{ data.title }}</mat-card-title> <mat-card-title>{{ data.title }}</mat-card-title>
</mat-card-header> </mat-card-header>
<mat-card-content fxLayout fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="10px" fxLayoutGap.xs="0"> <mat-card-content
fxLayout
fxLayout.xs="column"
fxLayoutAlign="center"
fxLayoutGap="10px"
fxLayoutGap.xs="0"
>
<div fxFlex class="container"> <div fxFlex class="container">
<mat-tab-group mat-stretch-tabs> <mat-tab-group mat-stretch-tabs>
<mat-tab> <mat-tab>
@ -10,14 +16,28 @@
<mat-icon>group</mat-icon> <mat-icon>group</mat-icon>
</ng-template> </ng-template>
<ucap-organization-tenant-search [companyList]="companyList$ | async" [companyCode]="companyCode" <ucap-organization-tenant-search
(keyDownEnter)="onKeyDownEnterOrganizationTenantSearch($event)"></ucap-organization-tenant-search> [companyList]="companyList$ | async"
<ucap-group-expansion-panel #groupExpansionPanel [groupBuddyList]="groupBuddyList$ | async" [companyCode]="companyCode"
[favoritBuddyList]="favoritBuddyList$ | async" [selectedUserList]="selectedUserList" [checkable]="true" (keyDownEnter)="onKeyDownEnterOrganizationTenantSearch($event)"
(checkGroup)="onCheckGroup($event)"> ></ucap-organization-tenant-search>
<ucap-profile-user-list-item *ucapGroupExpansionPanelItem="let userInfo" [userInfo]="userInfo" <ucap-group-expansion-panel
[sessionVerinfo]="sessionVerinfo" [selectedUserList]="selectedUserList" #groupExpansionPanel
[isChecked]="getCheckedUser(userInfo)" [checkable]="true" (checkUser)="onCheckUser($event)"> [groupBuddyList]="groupBuddyList$ | async"
[favoritBuddyList]="favoritBuddyList$ | async"
[selectedUserList]="selectedUserList"
[checkable]="true"
(checkGroup)="onCheckGroup($event)"
>
<ucap-profile-user-list-item
*ucapGroupExpansionPanelItem="let userInfo"
[userInfo]="userInfo"
[sessionVerinfo]="sessionVerinfo"
[selectedUserList]="selectedUserList"
[isChecked]="getCheckedUser(userInfo)"
[checkable]="true"
(checkUser)="onCheckUser($event)"
>
</ucap-profile-user-list-item> </ucap-profile-user-list-item>
</ucap-group-expansion-panel> </ucap-group-expansion-panel>
</mat-tab> </mat-tab>
@ -25,16 +45,24 @@
<ng-template mat-tab-label> <ng-template mat-tab-label>
<mat-icon>device_hub</mat-icon> <mat-icon>device_hub</mat-icon>
</ng-template> </ng-template>
<app-layout-chat-left-sidenav-organization [selectedUserList]="selectedUserList" [isUserSelect]="true" <app-layout-chat-left-sidenav-organization
(checkUser)="onCheckUser($event)"> [selectedUserList]="selectedUserList"
[isUserSelect]="true"
(checkUser)="onCheckUser($event)"
>
</app-layout-chat-left-sidenav-organization> </app-layout-chat-left-sidenav-organization>
</mat-tab> </mat-tab>
<mat-tab> <mat-tab>
<ng-template mat-tab-label> <ng-template mat-tab-label>
<mat-icon>chat</mat-icon> <mat-icon>chat</mat-icon>
</ng-template> </ng-template>
<ucap-room-list-item *ngFor="let room of roomList" [loginRes]="loginRes" [roomInfo]="room" <ucap-room-list-item
[roomUserInfo]="getRoomUserList(room)" [sessionVerinfo]="sessionVerinfo"> *ngFor="let room of roomList"
[loginRes]="loginRes"
[roomInfo]="room"
[roomUserInfo]="getRoomUserList(room)"
[sessionVerinfo]="sessionVerinfo"
>
</ucap-room-list-item> </ucap-room-list-item>
</mat-tab> </mat-tab>
</mat-tab-group> </mat-tab-group>
@ -48,7 +76,11 @@
</div> </div>
</mat-card-content> </mat-card-content>
<mat-card-actions class="button-farm flex-row"> <mat-card-actions class="button-farm flex-row">
<button mat-stroked-button (click)="onClickChoice(false)" class="mat-primary"> <button
mat-stroked-button
(click)="onClickChoice(false)"
class="mat-primary"
>
No No
</button> </button>
<button mat-flat-button (click)="onClickChoice(true)" class="mat-primary"> <button mat-flat-button (click)="onClickChoice(true)" class="mat-primary">

View File

@ -1,51 +1,57 @@
<mat-accordion #groupAccordion="matAccordion" [multi]="true"> <mat-accordion
<mat-expansion-panel *ngIf="favoritBuddyList.length > 0 && !checkable" [togglePosition]="'before'"> #groupAccordion="matAccordion"
[multi]="true"
[displayMode]="'flat'"
>
<mat-expansion-panel
*ngIf="favoritBuddyList.length > 0 && !checkable"
[togglePosition]="'before'"
>
<mat-expansion-panel-header> <mat-expansion-panel-header>
<mat-panel-title> 즐겨찾기 </mat-panel-title> <mat-panel-title> 즐겨찾기 </mat-panel-title>
<mat-panel-description> </mat-panel-description> <mat-panel-description> </mat-panel-description>
</mat-expansion-panel-header> </mat-expansion-panel-header>
<ng-container *ngFor="let favUserList of favoritBuddyList"> <ng-container *ngFor="let favUserList of favoritBuddyList">
<ng-template [ngTemplateOutlet]="expansionPanelItemTemplateRef" <ng-template
[ngTemplateOutletContext]="{ $implicit: favUserList }"> [ngTemplateOutlet]="expansionPanelItemTemplateRef"
[ngTemplateOutletContext]="{ $implicit: favUserList }"
>
</ng-template> </ng-template>
</ng-container> </ng-container>
<!-- <ucap-profile-user-list-item
*ngFor="let favUserList of favoritBuddyList"
[userInfo]="favUserList"
(click)="onClickBuddy(favUserList)"
>
</ucap-profile-user-list-item> -->
</mat-expansion-panel> </mat-expansion-panel>
<mat-expansion-panel *ngFor="let groupBuddy of groupBuddyList" [togglePosition]="'before'"> <mat-expansion-panel
*ngFor="let groupBuddy of groupBuddyList"
[togglePosition]="'before'"
>
<mat-expansion-panel-header> <mat-expansion-panel-header>
<mat-panel-title> {{ groupBuddy.group.name }} </mat-panel-title> <mat-panel-title> {{ groupBuddy.group.name }} </mat-panel-title>
<mat-panel-description> <mat-panel-description>
<span class="more-spacer"></span> <span class="more-spacer"></span>
<button mat-icon-button aria-label="group menu" *ngIf="!checkable" <button
(click)="onClickMore($event, groupBuddy.group)"> mat-icon-button
aria-label="group menu"
*ngIf="!checkable"
(click)="onClickMore($event, groupBuddy.group)"
>
<mat-icon>more_vert</mat-icon> <mat-icon>more_vert</mat-icon>
</button> </button>
<mat-checkbox *ngIf="checkable" #checkbox [checked]="getCheckedGroup(groupBuddy)" <mat-checkbox
(change)="onChangeCheck(checkbox.checked, groupBuddy)" (click)="$event.stopPropagation()"></mat-checkbox> *ngIf="checkable"
#checkbox
[checked]="getCheckedGroup(groupBuddy)"
(change)="onChangeCheck(checkbox.checked, groupBuddy)"
(click)="$event.stopPropagation()"
></mat-checkbox>
</mat-panel-description> </mat-panel-description>
</mat-expansion-panel-header> </mat-expansion-panel-header>
<ng-container *ngFor="let userInfo of groupBuddy.buddyList"> <ng-container *ngFor="let userInfo of groupBuddy.buddyList">
<ng-template [ngTemplateOutlet]="expansionPanelItemTemplateRef" <ng-template
[ngTemplateOutletContext]="{ $implicit: userInfo }"></ng-template> [ngTemplateOutlet]="expansionPanelItemTemplateRef"
[ngTemplateOutletContext]="{ $implicit: userInfo }"
></ng-template>
</ng-container> </ng-container>
<!-- <ucap-profile-user-list-item
*ngFor="let userInfo of groupBuddy.buddyList"
[userInfo]="userInfo"
(click)="onClickBuddy(userInfo)"
>
</ucap-profile-user-list-item> -->
<!-- <ucap-profile-user-list-item *ngFor="let userInfo of groupBuddy.buddyList" [userInfo]="userInfo"
[presence]="presence">
</ucap-profile-user-list-item> -->
</mat-expansion-panel> </mat-expansion-panel>
</mat-accordion> </mat-accordion>

View File

@ -4,8 +4,8 @@
<span <span
class="presence" class="presence"
[ngClass]="getPresence(PresenceType.PC)" [ngClass]="getPresence(PresenceType.PC)"
*ngIf="userPresence && userPresence.pcStatus" *ngIf="presence && presence.pcStatus"
>{{ userPresence.pcStatus }} >{{ presence.pcStatus }}
</span> </span>
<dl class="item-default"> <dl class="item-default">
<dt> <dt>

View File

@ -37,9 +37,7 @@ export class UserListItemComponent implements OnInit, OnDestroy {
@Input() @Input()
profileImageRoot?: string; profileImageRoot?: string;
@Input() @Input()
set presence(value: StatusBulkInfo | StatusInfo) { presence: StatusBulkInfo | StatusInfo;
this.userPresence = value;
}
@Input() @Input()
checkable = false; checkable = false;
@Input() @Input()
@ -58,7 +56,6 @@ export class UserListItemComponent implements OnInit, OnDestroy {
userInfo: UserInfo | UserInfoSS | UserInfoF | UserInfoDN; userInfo: UserInfo | UserInfoSS | UserInfoF | UserInfoDN;
}>(); }>();
userPresence: StatusBulkInfo | StatusInfo;
PresenceType = PresenceType; PresenceType = PresenceType;
// private profileImageRootSubscription: Subscription; // private profileImageRootSubscription: Subscription;
@ -94,7 +91,7 @@ export class UserListItemComponent implements OnInit, OnDestroy {
let rtnClass = ''; let rtnClass = '';
switch (type) { switch (type) {
case 'pc': case 'pc':
status = this.userPresence.pcStatus; status = this.presence.pcStatus;
break; break;
} }

View File

@ -8,10 +8,10 @@ import { ucapAnimations } from '../animations';
selector: 'ucap-ui-imaage', selector: 'ucap-ui-imaage',
template: ` template: `
<img <img
#imageElement
[src]="imageSrc" [src]="imageSrc"
[style]="baseStyle" [style]="baseStyle"
[ngClass]="classList" [ngClass]="classList"
[@fadeInOut]
/> />
`, `,
styles: [], styles: [],