diff --git a/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/left-side.component.html b/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/left-side.component.html
index bb16ccf8..c0d6e2a2 100644
--- a/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/left-side.component.html
+++ b/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/left-side.component.html
@@ -149,6 +149,7 @@
[selectedUserList]="selectedUserList"
(checkAllUser)="onCheckAllUser($event)"
(checkUser)="onCheckUser($event)"
+ (toggleUser)="onToggleUser($event)"
class="organization-side"
>
diff --git a/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/left-side.component.ts b/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/left-side.component.ts
index ed8d82bb..649dfc7c 100644
--- a/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/left-side.component.ts
+++ b/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/left-side.component.ts
@@ -245,6 +245,18 @@ export class LeftSideComponent implements OnInit {
);
}
}
+ onToggleUser(userInfo: UserInfo | UserInfoSS | UserInfoF | UserInfoDN) {
+ if (
+ this.selectedUserList.filter(user => user.seq === userInfo.seq).length ===
+ 0
+ ) {
+ this.selectedUserList = [...this.selectedUserList, userInfo];
+ } else {
+ this.selectedUserList = this.selectedUserList.filter(
+ item => item.seq !== userInfo.seq
+ );
+ }
+ }
/** FAB */
onClickFab(params: { btn: any }) {
diff --git a/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/left-sidenav/organization.component.html b/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/left-sidenav/organization.component.html
index c781d565..f72bad85 100644
--- a/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/left-sidenav/organization.component.html
+++ b/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/left-sidenav/organization.component.html
@@ -54,20 +54,11 @@
[selectedUserList]="selectedUserList"
[isChecked]="getCheckedUser(userInfo)"
(checkUser)="onCheckUser($event)"
+ (click)="onToggleUser(userInfo)"
>
Loading...
-
diff --git a/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/left-sidenav/organization.component.ts b/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/left-sidenav/organization.component.ts
index 2fb0aa82..3371b83d 100644
--- a/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/left-sidenav/organization.component.ts
+++ b/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/left-sidenav/organization.component.ts
@@ -64,6 +64,10 @@ export class OrganizationComponent implements OnInit, OnDestroy {
userInfo: UserInfo | UserInfoSS | UserInfoF | UserInfoDN;
}>();
@Output()
+ toggleUser = new EventEmitter<
+ UserInfo | UserInfoSS | UserInfoF | UserInfoDN
+ >();
+ @Output()
checkAllUser = new EventEmitter<{
isChecked: boolean;
userInfos: (UserInfo | UserInfoSS | UserInfoF | UserInfoDN)[];
@@ -321,6 +325,9 @@ export class OrganizationComponent implements OnInit, OnDestroy {
}) {
this.checkUser.emit(params);
}
+ onToggleUser(userInfo: UserInfo | UserInfoSS | UserInfoF | UserInfoDN) {
+ this.toggleUser.emit(userInfo);
+ }
onClickShowSelectedUserList() {
this.logger.debug('onClickShowSelectedUserList', this.selectedUserList);
diff --git a/projects/ucap-webmessenger-app/src/app/layouts/messenger/dialogs/chat/create-chat.dialog.component.html b/projects/ucap-webmessenger-app/src/app/layouts/messenger/dialogs/chat/create-chat.dialog.component.html
index 7c959900..4810a5ed 100644
--- a/projects/ucap-webmessenger-app/src/app/layouts/messenger/dialogs/chat/create-chat.dialog.component.html
+++ b/projects/ucap-webmessenger-app/src/app/layouts/messenger/dialogs/chat/create-chat.dialog.component.html
@@ -67,29 +67,27 @@
[style.display]="isShowSearch ? 'none' : 'block'"
class="list-panel"
>
-
-
+
-
-
-
-
+
+
@@ -128,6 +127,7 @@
[isUserSelect]="true"
(checkAllUser)="onCheckAllUser($event)"
(checkUser)="onCheckUser($event)"
+ (toggleUser)="onToggleUser($event)"
class="dialog-org"
>
diff --git a/projects/ucap-webmessenger-app/src/app/layouts/messenger/dialogs/chat/create-chat.dialog.component.ts b/projects/ucap-webmessenger-app/src/app/layouts/messenger/dialogs/chat/create-chat.dialog.component.ts
index bffd96c6..6c30ffff 100644
--- a/projects/ucap-webmessenger-app/src/app/layouts/messenger/dialogs/chat/create-chat.dialog.component.ts
+++ b/projects/ucap-webmessenger-app/src/app/layouts/messenger/dialogs/chat/create-chat.dialog.component.ts
@@ -407,6 +407,19 @@ export class CreateChatDialogComponent implements OnInit, OnDestroy {
item => item.seq !== params.userInfo.seq
);
}
+ console.log(this.selectedUserList);
+ }
+ onToggleUser(userInfo: UserInfo | UserInfoSS | UserInfoF | UserInfoDN) {
+ if (
+ this.selectedUserList.filter(user => user.seq === userInfo.seq).length ===
+ 0
+ ) {
+ this.selectedUserList = [...this.selectedUserList, userInfo];
+ } else {
+ this.selectedUserList = this.selectedUserList.filter(
+ item => item.seq !== userInfo.seq
+ );
+ }
}
/** 대화방 > 대화방 선택 :: 해당 팝업에서는 대화방을 중복 선택하지 않는다 */
diff --git a/projects/ucap-webmessenger-ui-profile/src/lib/components/user-list-item.component.html b/projects/ucap-webmessenger-ui-profile/src/lib/components/user-list-item.component.html
index d86e77b8..73f9137a 100644
--- a/projects/ucap-webmessenger-ui-profile/src/lib/components/user-list-item.component.html
+++ b/projects/ucap-webmessenger-ui-profile/src/lib/components/user-list-item.component.html
@@ -42,7 +42,7 @@
#checkbox
[checked]="isChecked"
(change)="onChangeCheck(checkbox.checked, userInfo)"
- (click)="$event.stopPropagation()"
+ (click)="onClickCheck($event)"
>
diff --git a/projects/ucap-webmessenger-ui-profile/src/lib/components/user-list-item.component.ts b/projects/ucap-webmessenger-ui-profile/src/lib/components/user-list-item.component.ts
index 1b56f947..5fbfde29 100644
--- a/projects/ucap-webmessenger-ui-profile/src/lib/components/user-list-item.component.ts
+++ b/projects/ucap-webmessenger-ui-profile/src/lib/components/user-list-item.component.ts
@@ -43,6 +43,9 @@ export class UserListItemComponent implements OnInit {
@Input()
/** 선택된 사용자의 리스트 */
selectedUserList?: (UserInfo | UserInfoSS | UserInfoF | UserInfoDN)[] = [];
+ @Input()
+ /** event bubbling fixed in custom tree */
+ inTree = false;
@Output()
checkUser = new EventEmitter<{
@@ -102,6 +105,11 @@ export class UserListItemComponent implements OnInit {
userInfo
});
}
+ onClickCheck(event: MouseEvent) {
+ if (!this.inTree) {
+ event.stopPropagation();
+ }
+ }
onClickOpenProfile(
event: MouseEvent,