From 0c9bc523ccebbf62d9d92b1b006aa9251a29d566 Mon Sep 17 00:00:00 2001 From: leejinho Date: Mon, 6 Jan 2020 11:02:02 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B7=B8=EB=A3=B9=EC=A0=95=EB=A0=AC=20?= =?UTF-8?q?=EC=B2=98=EB=A6=AC.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../left-sidenav/group.component.ts | 49 +++++++++++++++++-- 1 file changed, 45 insertions(+), 4 deletions(-) diff --git a/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/left-sidenav/group.component.ts b/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/left-sidenav/group.component.ts index 44d7729e..e539bb7c 100644 --- a/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/left-sidenav/group.component.ts +++ b/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/left-sidenav/group.component.ts @@ -161,6 +161,50 @@ export class GroupComponent implements OnInit, OnDestroy { ]) .pipe( map(([buddyList, groupList]) => { + // sort.. + if (!!groupList && groupList.length > 0) { + const tempOrderArr: GroupDetailData[] = []; + let myDeptGroup: GroupDetailData; + let defaultGroup: GroupDetailData; + + groupList.forEach(group => { + if ( + !!environment.productConfig.CommonSetting.useMyDeptGroup && + environment.productConfig.CommonSetting.myDeptGroupSeq === + group.seq + ) { + myDeptGroup = group; + } + + if (0 === group.seq) { + defaultGroup = group; + } + }); + + if (!!myDeptGroup) { + tempOrderArr.push(myDeptGroup); + } + + tempOrderArr.push( + ...groupList + .filter( + group => + group.seq !== + environment.productConfig.CommonSetting.myDeptGroupSeq && + group.seq !== 0 + ) + .sort((a, b) => + a.name < b.name ? -1 : a.name > b.name ? 1 : 0 + ) + ); + + if (!!defaultGroup) { + tempOrderArr.push(defaultGroup); + } + + groupList = tempOrderArr; + } + const groupBuddyList: { group: GroupDetailData; buddyList: UserInfo[]; @@ -569,10 +613,7 @@ export class GroupComponent implements OnInit, OnDestroy { } } - onClickOpenProfile( - userSeq: number, - group: GroupDetailData - ) { + onClickOpenProfile(userSeq: number, group: GroupDetailData) { this.openProfile.emit({ userSeq, openProfileOptions: {