2019-10-29 10:06:25 +00:00
|
|
|
<mat-card class="confirm-card mat-elevation-z">
|
2019-10-16 08:46:53 +00:00
|
|
|
<mat-card-header cdkDrag cdkDragRootElement=".cdk-overlay-pane" cdkDragHandle>
|
|
|
|
<mat-card-title>{{ data.title }}</mat-card-title>
|
|
|
|
</mat-card-header>
|
2019-10-18 04:02:43 +00:00
|
|
|
<mat-card-content>
|
|
|
|
<div *ngIf="data.type === UserSelectDialogType.NewGroup">
|
|
|
|
<form name="inputForm" [formGroup]="inputForm" novalidate>
|
2019-10-30 02:12:45 +00:00
|
|
|
<mat-form-field
|
|
|
|
hintLabel="특수문자는 '-,_'만 사용할 수 있습니다."
|
|
|
|
style="display:block;margin-bottom:10px;"
|
|
|
|
>
|
2019-10-18 04:02:43 +00:00
|
|
|
<input
|
|
|
|
matInput
|
|
|
|
#input
|
|
|
|
maxlength="20"
|
|
|
|
placeholder="그룹이름"
|
|
|
|
formControlName="groupName"
|
|
|
|
/>
|
|
|
|
<mat-hint align="end">{{ input.value?.length || 0 }}/20</mat-hint>
|
|
|
|
</mat-form-field>
|
|
|
|
</form>
|
|
|
|
</div>
|
|
|
|
<div
|
2019-10-29 10:06:25 +00:00
|
|
|
fxLayout="column"
|
2019-10-18 04:02:43 +00:00
|
|
|
fxLayout.xs="column"
|
|
|
|
fxLayoutAlign="center"
|
|
|
|
fxLayoutGap="10px"
|
|
|
|
fxLayoutGap.xs="0"
|
|
|
|
>
|
|
|
|
<div fxFlex class="container">
|
2019-10-24 08:04:58 +00:00
|
|
|
<mat-tab-group
|
|
|
|
mat-stretch-tabs
|
|
|
|
(selectedTabChange)="onSelectedTabChange($event)"
|
|
|
|
>
|
2019-10-18 04:02:43 +00:00
|
|
|
<mat-tab>
|
|
|
|
<ng-template mat-tab-label>
|
2019-11-18 06:02:47 +00:00
|
|
|
<!--<mat-icon>group</mat-icon>-->
|
2019-11-19 00:21:45 +00:00
|
|
|
<svg
|
|
|
|
xmlns="http://www.w3.org/2000/svg"
|
|
|
|
width="20"
|
|
|
|
height="20"
|
|
|
|
viewBox="0 0 24 24"
|
|
|
|
fill="none"
|
|
|
|
stroke="currentColor"
|
|
|
|
stroke-width="1.5"
|
|
|
|
stroke-linecap="butt"
|
|
|
|
stroke-linejoin="round"
|
|
|
|
>
|
2019-11-18 06:02:47 +00:00
|
|
|
<path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path>
|
|
|
|
<circle cx="9" cy="7" r="4"></circle>
|
|
|
|
<path d="M23 21v-2a4 4 0 0 0-3-3.87"></path>
|
|
|
|
<path d="M16 3.13a4 4 0 0 1 0 7.75"></path>
|
|
|
|
</svg>
|
2019-10-18 04:02:43 +00:00
|
|
|
</ng-template>
|
2019-11-19 01:47:18 +00:00
|
|
|
<div class="mat-tab-frame">
|
2019-10-28 02:15:20 +00:00
|
|
|
<div>
|
|
|
|
<ucap-organization-tenant-search
|
|
|
|
[companyList]="companyList$ | async"
|
|
|
|
[companyCode]="companyCode"
|
|
|
|
(keyDownEnter)="
|
|
|
|
onKeyDownEnterOrganizationTenantSearch($event)
|
|
|
|
"
|
2019-11-12 09:54:21 +00:00
|
|
|
(cancel)="onClickCancel()"
|
2019-10-28 02:15:20 +00:00
|
|
|
></ucap-organization-tenant-search>
|
|
|
|
</div>
|
2019-11-19 00:21:45 +00:00
|
|
|
<div
|
|
|
|
[style.display]="isShowSearch ? 'none' : 'block'"
|
|
|
|
class="list-panel"
|
|
|
|
>
|
2019-11-19 04:14:38 +00:00
|
|
|
<ucap-group-expansion-panel
|
|
|
|
#groupExpansionPanel
|
|
|
|
[groupBuddyList]="groupBuddyList$ | async"
|
|
|
|
[selectedUserList]="selectedUserList"
|
|
|
|
[checkable]="true"
|
2019-11-21 08:43:20 +00:00
|
|
|
(checkGroup)="onCheckGroup($event)"
|
2019-11-19 04:14:38 +00:00
|
|
|
class="group-expansion"
|
|
|
|
>
|
|
|
|
<ucap-profile-user-list-item
|
|
|
|
*ucapGroupExpansionPanelItem="let userInfo"
|
|
|
|
[userInfo]="userInfo"
|
|
|
|
[sessionVerinfo]="sessionVerinfo"
|
2019-10-28 02:15:20 +00:00
|
|
|
[selectedUserList]="selectedUserList"
|
2019-11-19 04:14:38 +00:00
|
|
|
[isChecked]="getCheckedUser(userInfo)"
|
2019-10-28 02:15:20 +00:00
|
|
|
[checkable]="true"
|
2019-11-19 04:14:38 +00:00
|
|
|
[inTree]="true"
|
|
|
|
(click)="onToggleUser(userInfo)"
|
|
|
|
class="list-item-frame"
|
2019-10-28 02:15:20 +00:00
|
|
|
>
|
2019-11-19 04:14:38 +00:00
|
|
|
</ucap-profile-user-list-item>
|
|
|
|
</ucap-group-expansion-panel>
|
2019-10-28 02:15:20 +00:00
|
|
|
</div>
|
2019-11-19 00:21:45 +00:00
|
|
|
<div
|
|
|
|
[style.display]="isShowSearch ? 'block' : 'none'"
|
|
|
|
class="search-result"
|
|
|
|
>
|
2019-11-26 05:06:50 +00:00
|
|
|
<div style="position: relative;">
|
|
|
|
<div
|
|
|
|
*ngIf="searchProcessing"
|
|
|
|
style="position: absolute; width: 100%;"
|
|
|
|
>
|
|
|
|
<mat-progress-bar mode="indeterminate"></mat-progress-bar>
|
|
|
|
</div>
|
2019-10-28 02:15:20 +00:00
|
|
|
</div>
|
2019-11-26 05:06:50 +00:00
|
|
|
|
2019-11-04 02:36:58 +00:00
|
|
|
<div class="result-num">
|
|
|
|
검색결과
|
|
|
|
<span class="text-accent-color"
|
|
|
|
>({{ searchUserInfos.length }}명)</span
|
|
|
|
>
|
|
|
|
</div>
|
2019-10-23 06:07:41 +00:00
|
|
|
<ucap-profile-user-list-item
|
2019-10-28 02:15:20 +00:00
|
|
|
*ngFor="let userInfo of searchUserInfos"
|
2019-10-23 06:07:41 +00:00
|
|
|
[userInfo]="userInfo"
|
|
|
|
[sessionVerinfo]="sessionVerinfo"
|
|
|
|
[selectedUserList]="selectedUserList"
|
|
|
|
[isChecked]="getCheckedUser(userInfo)"
|
|
|
|
[checkable]="true"
|
|
|
|
(checkUser)="onCheckUser($event)"
|
2019-11-19 04:14:38 +00:00
|
|
|
(click)="onToggleUser(userInfo)"
|
2019-10-23 06:07:41 +00:00
|
|
|
>
|
|
|
|
</ucap-profile-user-list-item>
|
|
|
|
</div>
|
|
|
|
</div>
|
2019-10-18 04:02:43 +00:00
|
|
|
</mat-tab>
|
|
|
|
<mat-tab>
|
|
|
|
<ng-template mat-tab-label>
|
|
|
|
<mat-icon>device_hub</mat-icon>
|
|
|
|
</ng-template>
|
2019-10-29 10:06:25 +00:00
|
|
|
<div>
|
2019-10-28 02:15:20 +00:00
|
|
|
<app-layout-chat-left-sidenav-organization
|
2019-11-15 01:49:41 +00:00
|
|
|
[showTitle]="false"
|
2019-10-28 02:15:20 +00:00
|
|
|
[selectedUserList]="selectedUserList"
|
|
|
|
[isUserSelect]="true"
|
2019-11-22 07:15:11 +00:00
|
|
|
[isVisible]="currentTabIndex === 1"
|
2019-10-29 08:07:45 +00:00
|
|
|
(checkAllUser)="onCheckAllUser($event)"
|
2019-10-28 02:15:20 +00:00
|
|
|
(checkUser)="onCheckUser($event)"
|
2019-11-19 04:14:38 +00:00
|
|
|
(toggleUser)="onToggleUser($event)"
|
2019-10-29 10:06:25 +00:00
|
|
|
class="dialog-org"
|
2019-10-28 02:15:20 +00:00
|
|
|
>
|
|
|
|
</app-layout-chat-left-sidenav-organization>
|
|
|
|
</div>
|
2019-10-18 04:02:43 +00:00
|
|
|
</mat-tab>
|
|
|
|
<mat-tab *ngIf="data.type === UserSelectDialogType.MessageForward">
|
|
|
|
<ng-template mat-tab-label>
|
|
|
|
<mat-icon>chat</mat-icon>
|
|
|
|
</ng-template>
|
2019-10-29 10:06:25 +00:00
|
|
|
<div>
|
2019-10-30 02:12:45 +00:00
|
|
|
<ucap-room-list-item
|
|
|
|
*ngFor="let room of roomList"
|
|
|
|
[loginRes]="loginRes"
|
|
|
|
[roomInfo]="room"
|
|
|
|
[roomUserInfo]="getRoomUserList(room)"
|
|
|
|
[sessionVerinfo]="sessionVerinfo"
|
|
|
|
[checkable]="getCheckableRoom(room)"
|
|
|
|
[isChecked]="getCheckedRoom(room)"
|
|
|
|
[multiCheckable]="false"
|
|
|
|
(checkRoom)="onCheckRoom($event)"
|
|
|
|
>
|
|
|
|
</ucap-room-list-item>
|
2019-10-28 02:15:20 +00:00
|
|
|
</div>
|
2019-10-18 04:02:43 +00:00
|
|
|
</mat-tab>
|
|
|
|
</mat-tab-group>
|
|
|
|
</div>
|
2019-10-30 02:12:45 +00:00
|
|
|
<div *ngIf="isShowSelectedUserList" class="list-chip">
|
2019-10-22 08:05:29 +00:00
|
|
|
<mat-chip-list aria-label="User selection">
|
|
|
|
<mat-chip
|
|
|
|
*ngFor="let userInfo of selectedUserList"
|
2019-11-04 02:36:58 +00:00
|
|
|
[selected]="getChipsRemoveYn(userInfo)"
|
2019-10-22 08:05:29 +00:00
|
|
|
(removed)="onClickDeleteUser(userInfo)"
|
|
|
|
>
|
2019-10-18 04:02:43 +00:00
|
|
|
{{ userInfo.name }}
|
2019-11-04 02:36:58 +00:00
|
|
|
<mat-icon matChipRemove *ngIf="getChipsRemoveYn(userInfo)"
|
|
|
|
>clear</mat-icon
|
|
|
|
>
|
2019-10-22 08:05:29 +00:00
|
|
|
</mat-chip>
|
|
|
|
</mat-chip-list>
|
2019-10-18 04:02:43 +00:00
|
|
|
</div>
|
2019-11-21 07:24:47 +00:00
|
|
|
<span *ngIf="isShowSelectedUserList"
|
|
|
|
>{{ selectedUserList.length }}명</span
|
|
|
|
>
|
2019-10-16 08:46:53 +00:00
|
|
|
</div>
|
|
|
|
</mat-card-content>
|
|
|
|
<mat-card-actions class="button-farm flex-row">
|
2019-10-18 00:48:38 +00:00
|
|
|
<button
|
|
|
|
mat-stroked-button
|
|
|
|
(click)="onClickChoice(false)"
|
|
|
|
class="mat-primary"
|
|
|
|
>
|
2019-10-16 08:46:53 +00:00
|
|
|
No
|
|
|
|
</button>
|
2019-11-15 08:55:05 +00:00
|
|
|
<button
|
|
|
|
mat-flat-button
|
|
|
|
[disabled]="getBtnValid()"
|
|
|
|
(click)="onClickChoice(true)"
|
|
|
|
class="mat-primary"
|
|
|
|
>
|
2019-10-16 08:46:53 +00:00
|
|
|
Yes
|
|
|
|
</button>
|
|
|
|
</mat-card-actions>
|
|
|
|
</mat-card>
|