2019-11-05 04:45:30 +00:00
|
|
|
<div>
|
|
|
|
<div class="current-head">
|
|
|
|
<h3>그룹</h3>
|
|
|
|
<div class="btn-box">
|
|
|
|
<button
|
|
|
|
mat-icon-button
|
|
|
|
#groupMenuTrigger="matMenuTrigger"
|
|
|
|
[matMenuTriggerFor]="groupMenu"
|
|
|
|
aria-label="group menu"
|
|
|
|
(ucapClickOutside)="groupMenuTrigger.closeMenu()"
|
2019-10-15 07:39:58 +00:00
|
|
|
>
|
2019-11-05 04:45:30 +00:00
|
|
|
<mat-icon>more_vert</mat-icon>
|
|
|
|
</button>
|
2019-10-23 06:07:41 +00:00
|
|
|
</div>
|
2019-11-05 04:45:30 +00:00
|
|
|
</div>
|
|
|
|
<ucap-organization-tenant-search
|
|
|
|
[companyList]="companyList$ | async"
|
|
|
|
[companyCode]="companyCode"
|
|
|
|
(keyDownEnter)="onKeyDownEnterOrganizationTenantSearch($event)"
|
|
|
|
(cancel)="onClickCancel($event)"
|
|
|
|
></ucap-organization-tenant-search>
|
|
|
|
|
|
|
|
<mat-menu
|
|
|
|
#groupMenu="matMenu"
|
|
|
|
xPosition="after"
|
|
|
|
yPosition="below"
|
|
|
|
[hasBackdrop]="false"
|
|
|
|
>
|
|
|
|
<button mat-menu-item (click)="onClickGroupMenu('GROUP_NEW')">
|
|
|
|
<mat-icon>group_add</mat-icon>
|
|
|
|
<span>새 그룹 추가</span>
|
|
|
|
</button>
|
|
|
|
<button mat-menu-item (click)="onClickGroupMenu('GROUP_EXPAND_MORE')">
|
|
|
|
<mat-icon>expand_more</mat-icon>
|
|
|
|
<span>그룹 전체 열기</span>
|
|
|
|
</button>
|
|
|
|
<button mat-menu-item (click)="onClickGroupMenu('GROUP_EXPAND_LESS')">
|
|
|
|
<mat-icon>expand_less</mat-icon>
|
|
|
|
<span>그룹 전체 닫기</span>
|
|
|
|
</button>
|
|
|
|
<button mat-menu-item (click)="onClickGroupMenu('GROUP_SAVE')">
|
|
|
|
<mat-icon>save</mat-icon>
|
|
|
|
<span>그룹 저장하기</span>
|
|
|
|
</button>
|
|
|
|
<button mat-menu-item (click)="onClickGroupMenu('GROUP_RESTORE')">
|
|
|
|
<mat-icon>restore</mat-icon>
|
|
|
|
<span>그룹 가져오기</span>
|
|
|
|
</button>
|
|
|
|
</mat-menu>
|
|
|
|
</div>
|
|
|
|
<div *ngIf="!isShowSearch" class="search-result" style="overflow: auto;">
|
|
|
|
<ucap-group-expansion-panel
|
|
|
|
#groupExpansionPanel
|
|
|
|
[groupBuddyList]="groupBuddyList$ | async"
|
|
|
|
[favoritBuddyList]="favoritBuddyList$ | async"
|
|
|
|
[myProfileInfo]="loginRes.userInfo"
|
|
|
|
(more)="onMoreGroup($event)"
|
|
|
|
>
|
2019-10-23 06:07:41 +00:00
|
|
|
<ucap-profile-user-list-item
|
2019-11-05 04:45:30 +00:00
|
|
|
*ucapGroupExpansionPanelItem="let userInfo"
|
2019-10-23 06:07:41 +00:00
|
|
|
[userInfo]="userInfo"
|
|
|
|
[presence]="getStatusBulkInfo(userInfo) | async"
|
|
|
|
[sessionVerinfo]="sessionVerinfo"
|
|
|
|
(click)="onSelectBuddy(userInfo)"
|
2019-11-08 04:35:39 +00:00
|
|
|
(openProfile)="onClickOpenProfile($event)"
|
2019-11-05 04:45:30 +00:00
|
|
|
(contextmenu)="onContextMenuProfile($event, userInfo)"
|
2019-10-23 06:07:41 +00:00
|
|
|
>
|
|
|
|
</ucap-profile-user-list-item>
|
2019-11-05 04:45:30 +00:00
|
|
|
</ucap-group-expansion-panel>
|
|
|
|
</div>
|
|
|
|
<div *ngIf="isShowSearch" class="search-result">
|
|
|
|
<div *ngIf="searchProcessing">
|
|
|
|
<mat-progress-bar mode="indeterminate"></mat-progress-bar>
|
2019-10-23 06:07:41 +00:00
|
|
|
</div>
|
2019-11-05 04:45:30 +00:00
|
|
|
<div class="result-num">
|
|
|
|
검색결과<span class="text-accent-color"
|
|
|
|
>({{ searchUserInfos.length }}명)</span
|
|
|
|
>
|
|
|
|
</div>
|
|
|
|
<ucap-profile-user-list-item
|
|
|
|
*ngFor="let userInfo of searchUserInfos"
|
|
|
|
[userInfo]="userInfo"
|
|
|
|
[presence]="getStatusBulkInfo(userInfo) | async"
|
|
|
|
[sessionVerinfo]="sessionVerinfo"
|
|
|
|
(click)="onSelectBuddy(userInfo)"
|
2019-11-08 04:35:39 +00:00
|
|
|
(openProfile)="onClickOpenProfile($event)"
|
2019-11-05 04:45:30 +00:00
|
|
|
>
|
|
|
|
</ucap-profile-user-list-item>
|
|
|
|
</div>
|
2019-10-15 02:07:26 +00:00
|
|
|
|
2019-10-15 07:39:58 +00:00
|
|
|
<div
|
|
|
|
style="visibility: hidden; position: fixed"
|
|
|
|
[style.left]="profileContextMenuPosition.x"
|
|
|
|
[style.top]="profileContextMenuPosition.y"
|
2019-10-16 01:20:49 +00:00
|
|
|
#profileContextMenuTrigger="matMenuTrigger"
|
2019-10-15 07:39:58 +00:00
|
|
|
[matMenuTriggerFor]="profileContextMenu"
|
|
|
|
></div>
|
2019-10-25 06:56:03 +00:00
|
|
|
<mat-menu
|
|
|
|
#profileContextMenu="matMenu"
|
|
|
|
[hasBackdrop]="false"
|
2019-11-05 04:45:30 +00:00
|
|
|
(ucapClickOutside)="profileContextMenuTrigger.closeMenu()"
|
2019-10-25 06:56:03 +00:00
|
|
|
>
|
2019-10-15 09:20:50 +00:00
|
|
|
<ng-template matMenuContent let-userInfo="userInfo">
|
|
|
|
<button
|
|
|
|
mat-menu-item
|
|
|
|
(click)="onClickProfileContextMenu('VIEW_PROFILE', userInfo)"
|
|
|
|
>
|
|
|
|
프로필 보기
|
|
|
|
</button>
|
|
|
|
<button
|
|
|
|
mat-menu-item
|
2019-10-22 00:53:16 +00:00
|
|
|
*ngIf="getShowContextMenu(userInfo)"
|
2019-10-15 09:20:50 +00:00
|
|
|
(click)="onClickProfileContextMenu('REGISTER_FAVORITE', userInfo)"
|
|
|
|
>
|
2019-10-21 08:23:02 +00:00
|
|
|
즐겨찾기 {{ userInfo.isFavorit ? '해제' : '등록' }}
|
2019-10-15 09:20:50 +00:00
|
|
|
</button>
|
|
|
|
<button mat-menu-item (click)="onClickProfileContextMenu('CHAT', userInfo)">
|
|
|
|
대화하기
|
|
|
|
</button>
|
|
|
|
<button
|
|
|
|
mat-menu-item
|
2019-10-22 00:53:16 +00:00
|
|
|
*ngIf="getShowContextMenu(userInfo)"
|
2019-10-15 09:20:50 +00:00
|
|
|
(click)="onClickProfileContextMenu('REMOVE_FROM_GROUP', userInfo)"
|
|
|
|
>
|
|
|
|
이 그룹에서 삭제
|
|
|
|
</button>
|
|
|
|
<button
|
|
|
|
mat-menu-item
|
2019-10-22 00:53:16 +00:00
|
|
|
*ngIf="getShowContextMenu(userInfo)"
|
2019-10-15 09:20:50 +00:00
|
|
|
(click)="onClickProfileContextMenu('COPY_BUDDY', userInfo)"
|
|
|
|
>
|
|
|
|
대화 상대 복사
|
|
|
|
</button>
|
|
|
|
<button
|
|
|
|
mat-menu-item
|
2019-10-22 00:53:16 +00:00
|
|
|
*ngIf="getShowContextMenu(userInfo)"
|
2019-10-15 09:20:50 +00:00
|
|
|
(click)="onClickProfileContextMenu('MOVE_BUDDY', userInfo)"
|
|
|
|
>
|
|
|
|
대화 상대 이동
|
|
|
|
</button>
|
|
|
|
<button
|
|
|
|
mat-menu-item
|
2019-10-22 00:53:16 +00:00
|
|
|
*ngIf="getShowContextMenu(userInfo)"
|
2019-10-15 09:20:50 +00:00
|
|
|
(click)="onClickProfileContextMenu('SEND_NOTE', userInfo)"
|
|
|
|
>
|
|
|
|
쪽지 보내기
|
|
|
|
</button>
|
|
|
|
<button
|
|
|
|
mat-menu-item
|
2019-10-22 00:53:16 +00:00
|
|
|
*ngIf="getShowContextMenu(userInfo)"
|
2019-10-15 09:20:50 +00:00
|
|
|
(click)="onClickProfileContextMenu('REGISTER_NICKNAME', userInfo)"
|
|
|
|
>
|
|
|
|
닉네임 설정
|
|
|
|
</button>
|
2019-10-15 02:07:26 +00:00
|
|
|
</ng-template>
|
|
|
|
</mat-menu>
|
2019-10-15 02:50:59 +00:00
|
|
|
|
2019-10-15 07:39:58 +00:00
|
|
|
<div
|
|
|
|
style="visibility: hidden; position: fixed"
|
|
|
|
[style.left]="groupContextMenuPosition.x"
|
|
|
|
[style.top]="groupContextMenuPosition.y"
|
2019-10-16 01:20:49 +00:00
|
|
|
#groupContextMenuTrigger="matMenuTrigger"
|
2019-10-15 07:39:58 +00:00
|
|
|
[matMenuTriggerFor]="groupContextMenu"
|
|
|
|
></div>
|
2019-10-25 06:56:03 +00:00
|
|
|
<mat-menu
|
|
|
|
#groupContextMenu="matMenu"
|
|
|
|
[hasBackdrop]="false"
|
2019-11-05 04:45:30 +00:00
|
|
|
(ucapClickOutside)="groupContextMenuTrigger.closeMenu()"
|
2019-10-25 06:56:03 +00:00
|
|
|
>
|
2019-10-15 09:20:50 +00:00
|
|
|
<ng-template matMenuContent let-group="group">
|
|
|
|
<button mat-menu-item (click)="onClickGroupContextMenu('CHAT', group)">
|
|
|
|
그룹 대화하기
|
|
|
|
</button>
|
|
|
|
<button mat-menu-item (click)="onClickGroupContextMenu('SEND_NOTE', group)">
|
|
|
|
그룹 쪽지 보내기
|
|
|
|
</button>
|
|
|
|
<button mat-menu-item (click)="onClickGroupContextMenu('RENAME', group)">
|
|
|
|
그룹 이름 바꾸기
|
|
|
|
</button>
|
|
|
|
<mat-divider></mat-divider>
|
|
|
|
<button
|
|
|
|
mat-menu-item
|
|
|
|
(click)="onClickGroupContextMenu('EDIT_MEMBER', group)"
|
|
|
|
>
|
|
|
|
그룹 멤버 변경
|
|
|
|
</button>
|
2019-10-16 06:36:18 +00:00
|
|
|
<button mat-menu-item (click)="onClickGroupContextMenu('DELETE', group)">
|
2019-10-15 09:20:50 +00:00
|
|
|
그룹 삭제
|
|
|
|
</button>
|
2019-10-15 02:50:59 +00:00
|
|
|
</ng-template>
|
|
|
|
</mat-menu>
|