# 이슈처리

86 대화방 검색 후 우클릭 메뉴 선택 시 검색 필터 풀려짐
96 대화방 검색 필터 후 메시지 수신시 검색필터 풀려짐 :: 86과 동일 건으로 프로그램 개선 후 정상동작.

112 즐겨찾기 그룹 쪽지 보내기 동작 되지 않음 :: 즐겨찾기 그룹에 대한 더보기 메뉴 핸들링 및 쪽지 보내기 버그 처리 완료.

114 트레이에서 로그아웃 선택 시 팝업 오류 :: ngZone.run 으로 처리함.
This commit is contained in:
leejinho 2020-01-07 13:45:11 +09:00
parent 267c404fd1
commit 92ab91ef09
5 changed files with 49 additions and 11 deletions

View File

@ -128,7 +128,6 @@ export class ChatComponent implements OnInit, OnDestroy, AfterViewChecked {
.pipe( .pipe(
tap(([room, roomUser, roomUserShort]) => { tap(([room, roomUser, roomUserShort]) => {
this.roomList = room; this.roomList = room;
this.searchRoomList = room;
this.roomUserList = roomUser; this.roomUserList = roomUser;
this.roomUserShortList = roomUserShort; this.roomUserShortList = roomUserShort;
@ -159,6 +158,15 @@ export class ChatComponent implements OnInit, OnDestroy, AfterViewChecked {
this.recommendedWordList = [...recommendedWordList]; this.recommendedWordList = [...recommendedWordList];
if (!!this.isSearch) {
this.searchRoomList = room.filter(
roomInfo =>
this.searchRoomList.filter(
sInfo => sInfo.roomSeq === roomInfo.roomSeq
).length > 0
);
}
if (!!this.psDirectiveRef) { if (!!this.psDirectiveRef) {
this.psDirectiveRef.update(); this.psDirectiveRef.update();
} }

View File

@ -105,6 +105,8 @@ export class GroupComponent implements OnInit, OnDestroy {
groupBuddyListSubscription: Subscription; groupBuddyListSubscription: Subscription;
favoritBuddyList$: Observable<UserInfo[]>; favoritBuddyList$: Observable<UserInfo[]>;
favoritBuddyList: UserInfo[] = [];
companyList$: Observable<Company[]>; companyList$: Observable<Company[]>;
companyCode: string; companyCode: string;
@ -229,9 +231,10 @@ export class GroupComponent implements OnInit, OnDestroy {
.pipe(select(AppStore.MessengerSelector.SyncSelector.selectAllBuddy2)) .pipe(select(AppStore.MessengerSelector.SyncSelector.selectAllBuddy2))
.pipe( .pipe(
map(buddyInfoList => { map(buddyInfoList => {
return buddyInfoList this.favoritBuddyList = buddyInfoList
.filter(buddy => buddy.isFavorit) .filter(buddy => buddy.isFavorit)
.sort((a, b) => (a.name < b.name ? -1 : a.name > b.name ? 1 : 0)); .sort((a, b) => (a.name < b.name ? -1 : a.name > b.name ? 1 : 0));
return this.favoritBuddyList;
}) })
); );
} }
@ -371,7 +374,11 @@ export class GroupComponent implements OnInit, OnDestroy {
menuType === 'EDIT_MEMBER' || menuType === 'EDIT_MEMBER' ||
menuType === 'DELETE' menuType === 'DELETE'
) { ) {
if (!group || group === undefined) { if (
!group ||
group === undefined ||
(group.seq < 0 && group.name === 'Favorit')
) {
return false; return false;
} }
@ -395,7 +402,11 @@ export class GroupComponent implements OnInit, OnDestroy {
} }
// 그룹원 0명인 그룹 메뉴 정리 // 그룹원 0명인 그룹 메뉴 정리
if (menuType === 'CHAT') { if (
menuType === 'CHAT' ||
menuType === 'SEND_MESSAGE' ||
menuType === 'DIV1'
) {
if (!!group && !!group.userSeqs && group.userSeqs.length > 0) { if (!!group && !!group.userSeqs && group.userSeqs.length > 0) {
return true; return true;
} else { } else {
@ -652,11 +663,22 @@ export class GroupComponent implements OnInit, OnDestroy {
break; break;
case 'SEND_MESSAGE': case 'SEND_MESSAGE':
{ {
let receiverList: UserInfo[] = [];
const isFavGroup =
group.seq < 0 && group.name === 'Favorit' ? true : false;
if (!!isFavGroup) {
receiverList = this.favoritBuddyList;
} else {
const curGroupBuddyList = this.groupBuddyList.filter( const curGroupBuddyList = this.groupBuddyList.filter(
groupInfo => groupInfo.group.seq === group.seq groupInfo => groupInfo.group.seq === group.seq
); );
if (!!curGroupBuddyList && curGroupBuddyList.length > 0) { if (!!curGroupBuddyList && curGroupBuddyList.length > 0) {
receiverList = curGroupBuddyList[0].buddyList;
}
}
if (receiverList.length > 0) {
this.dialogService.open< this.dialogService.open<
MessageWriteDialogComponent, MessageWriteDialogComponent,
MessageWriteDialogData, MessageWriteDialogData,
@ -669,7 +691,7 @@ export class GroupComponent implements OnInit, OnDestroy {
data: { data: {
loginRes: this.loginRes, loginRes: this.loginRes,
environmentsInfo: this.environmentsInfo, environmentsInfo: this.environmentsInfo,
receiverList: curGroupBuddyList[0].buddyList receiverList
} }
}); });
} }

View File

@ -37,8 +37,10 @@ export class AppNativeService {
subscribe(): void { subscribe(): void {
this.nativeService.logout().subscribe(() => { this.nativeService.logout().subscribe(() => {
this.ngZone.run(() => {
this.store.dispatch(AuthenticationStore.logoutConfirmation()); this.store.dispatch(AuthenticationStore.logoutConfirmation());
}); });
});
this.nativeService.changeStatus().subscribe(statusCode => {}); this.nativeService.changeStatus().subscribe(statusCode => {});
this.nativeService.showSetting().subscribe(() => { this.nativeService.showSetting().subscribe(() => {
this.ngZone.run(() => { this.ngZone.run(() => {

View File

@ -679,7 +679,7 @@
"addMemberToRoom": "대화 상대 추가", "addMemberToRoom": "대화 상대 추가",
"addMemberToGroup": "그룹 멤버로 추가", "addMemberToGroup": "그룹 멤버로 추가",
"modifyRoomMember": "대화방 멤버 편집", "modifyRoomMember": "대화방 멤버 편집",
"ejectFromRoom": "Eject from room", "ejectFromRoom": "강제 퇴장",
"confirmEjectFromRoom": "{{targetMember}} 님을 대화방에서 퇴장 시키겠습니까?", "confirmEjectFromRoom": "{{targetMember}} 님을 대화방에서 퇴장 시키겠습니까?",
"badgeDescriptionForUnread": "확인하지 않은 메시지가 있습니다." "badgeDescriptionForUnread": "확인하지 않은 메시지가 있습니다."
}, },

View File

@ -85,6 +85,12 @@ export class ExpansionPanelComponent
} else { } else {
const groupNode: GroupNode = { const groupNode: GroupNode = {
nodeType: NodeType.Favorit, nodeType: NodeType.Favorit,
groupDetail: {
seq: -9999,
name: NodeType.Favorit,
isActive: true,
userSeqs: userInfoList.map(userInfo => userInfo.seq)
} as GroupDetailData,
children: [] children: []
}; };