2020-02-06 09:57:34 +09:00
|
|
|
<mat-card class="confirm-card mat-elevation-z dialog-creat-chat">
|
2020-02-06 10:29:48 +09:00
|
|
|
<mat-card-header>
|
|
|
|
<mat-card-title
|
|
|
|
cdkDrag
|
|
|
|
cdkDragRootElement=".cdk-overlay-pane"
|
|
|
|
cdkDragHandle
|
|
|
|
>{{ data.title }}</mat-card-title
|
|
|
|
>
|
2020-01-29 13:14:26 +09:00
|
|
|
<button class="icon-button btn-dialog-close" (click)="onClickChoice(false)">
|
|
|
|
<i class="mdi mdi-window-close"></i>
|
|
|
|
</button>
|
2019-10-16 17:46:53 +09:00
|
|
|
</mat-card-header>
|
2019-10-18 13:02:43 +09:00
|
|
|
<mat-card-content>
|
|
|
|
<div *ngIf="data.type === UserSelectDialogType.NewGroup">
|
|
|
|
<form name="inputForm" [formGroup]="inputForm" novalidate>
|
2019-10-30 11:12:45 +09:00
|
|
|
<mat-form-field
|
2019-12-24 18:14:16 +09:00
|
|
|
hintLabel="{{
|
2020-01-06 18:05:34 +09:00
|
|
|
'common.useOnlyForSpecialCharacter'
|
|
|
|
| translate: { specialCharacter: '-,_' }
|
2019-12-24 18:14:16 +09:00
|
|
|
}}"
|
2019-10-30 11:12:45 +09:00
|
|
|
style="display:block;margin-bottom:10px;"
|
|
|
|
>
|
2019-10-18 13:02:43 +09:00
|
|
|
<input
|
|
|
|
matInput
|
|
|
|
#input
|
|
|
|
maxlength="20"
|
2019-12-24 18:14:16 +09:00
|
|
|
placeholder="{{ 'group.name' | translate }}"
|
2019-10-18 13:02:43 +09:00
|
|
|
formControlName="groupName"
|
2020-02-06 17:49:05 +09:00
|
|
|
(keyup)="onKeyupGroupName()"
|
2019-10-18 13:02:43 +09:00
|
|
|
/>
|
|
|
|
<mat-hint align="end">{{ input.value?.length || 0 }}/20</mat-hint>
|
2020-02-06 17:49:05 +09:00
|
|
|
<mat-error
|
|
|
|
*ngIf="inputForm.get('groupName').hasError('groupNameBanned')"
|
|
|
|
>
|
|
|
|
{{
|
|
|
|
'group.errors.bannedWords'
|
|
|
|
| translate: { bannedWords: bannedWords.join(',') }
|
|
|
|
}}
|
|
|
|
</mat-error>
|
2019-10-18 13:02:43 +09:00
|
|
|
</mat-form-field>
|
|
|
|
</form>
|
|
|
|
</div>
|
|
|
|
<div
|
2019-10-29 19:06:25 +09:00
|
|
|
fxLayout="column"
|
2019-10-18 13:02:43 +09:00
|
|
|
fxLayout.xs="column"
|
|
|
|
fxLayoutAlign="center"
|
|
|
|
fxLayoutGap="10px"
|
|
|
|
fxLayoutGap.xs="0"
|
|
|
|
>
|
|
|
|
<div fxFlex class="container">
|
2019-10-24 17:04:58 +09:00
|
|
|
<mat-tab-group
|
|
|
|
mat-stretch-tabs
|
|
|
|
(selectedTabChange)="onSelectedTabChange($event)"
|
|
|
|
>
|
2019-10-18 13:02:43 +09:00
|
|
|
<mat-tab>
|
|
|
|
<ng-template mat-tab-label>
|
2020-02-05 15:50:35 +09:00
|
|
|
<!--<mat-icon>group</mat-icon>
|
2019-11-19 09:21:45 +09: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-12-24 18:14:16 +09:00
|
|
|
matTooltip="{{ 'group.label' | translate }}"
|
2019-11-27 18:15:01 +09:00
|
|
|
matTooltipPosition="after"
|
2019-11-19 09:21:45 +09:00
|
|
|
>
|
2019-11-18 15:02:47 +09: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>
|
2020-02-05 15:50:35 +09:00
|
|
|
</svg>-->
|
2020-02-06 10:24:47 +09:00
|
|
|
<button class="icon-button">
|
|
|
|
<i class="mid mid-24 mdi-account-multiple"></i>
|
|
|
|
</button>
|
2019-10-18 13:02:43 +09:00
|
|
|
</ng-template>
|
2020-02-06 20:15:41 +09:00
|
|
|
<div fxFlexFill>
|
|
|
|
<div class="mat-tab-frame dialog-tab-grouplist">
|
|
|
|
<div>
|
|
|
|
<ucap-organization-tenant-search
|
|
|
|
[companyList]="companyList$ | async"
|
|
|
|
[companyCode]="companyCode"
|
|
|
|
(keyDownEnter)="
|
|
|
|
onKeyDownEnterOrganizationTenantSearch($event)
|
|
|
|
"
|
|
|
|
(cancel)="onClickCancel()"
|
|
|
|
></ucap-organization-tenant-search>
|
|
|
|
</div>
|
|
|
|
<div
|
|
|
|
[style.display]="isShowSearch ? 'none' : 'block'"
|
|
|
|
class="group"
|
2019-11-19 13:14:38 +09:00
|
|
|
>
|
2020-02-06 20:15:41 +09:00
|
|
|
<ucap-group-expansion-panel
|
|
|
|
#groupExpansionPanel
|
|
|
|
[groupBuddyList]="groupBuddyList$ | async"
|
|
|
|
[selectedUserList]="selectedUserList"
|
|
|
|
[ignoreUserList]="data.curRoomUser"
|
|
|
|
[checkable]="true"
|
|
|
|
(checkGroup)="onCheckGroup($event)"
|
|
|
|
class="group-expansion"
|
|
|
|
>
|
|
|
|
<ucap-profile-user-list-item
|
|
|
|
*ucapGroupExpansionPanelItem="let userInfo"
|
|
|
|
[userInfo]="userInfo"
|
|
|
|
[showPresence]="false"
|
|
|
|
[sessionVerinfo]="sessionVerinfo"
|
|
|
|
[selectedUserList]="selectedUserList"
|
|
|
|
[isChecked]="getCheckedUser(userInfo)"
|
|
|
|
[checkable]="true"
|
|
|
|
[checkDisabled]="!getCheckableUser(userInfo)"
|
|
|
|
(checkUser)="onCheckUser($event)"
|
|
|
|
(click)="onToggleUser(userInfo)"
|
|
|
|
class="group-list-item"
|
|
|
|
>
|
|
|
|
</ucap-profile-user-list-item>
|
|
|
|
</ucap-group-expansion-panel>
|
|
|
|
</div>
|
|
|
|
<div
|
|
|
|
[style.display]="isShowSearch ? 'block' : 'none'"
|
|
|
|
class="search-result"
|
|
|
|
>
|
|
|
|
<div style="position: relative;">
|
|
|
|
<div
|
|
|
|
*ngIf="searchProcessing"
|
|
|
|
style="position: absolute; width: 100%;"
|
|
|
|
>
|
|
|
|
<mat-progress-bar mode="indeterminate"></mat-progress-bar>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="result-num">
|
|
|
|
{{ 'common.searchResult' | translate }}
|
|
|
|
<span class="text-accent-color">
|
|
|
|
({{ searchUserInfos.length
|
|
|
|
}}{{ 'common.units.persons' | translate }})
|
|
|
|
</span>
|
|
|
|
</div>
|
2019-11-19 13:14:38 +09:00
|
|
|
<ucap-profile-user-list-item
|
2020-02-06 20:15:41 +09:00
|
|
|
*ngFor="let userInfo of searchUserInfos"
|
2019-11-19 13:14:38 +09:00
|
|
|
[userInfo]="userInfo"
|
2020-02-06 10:24:47 +09:00
|
|
|
[showPresence]="false"
|
2019-11-19 13:14:38 +09:00
|
|
|
[sessionVerinfo]="sessionVerinfo"
|
2019-10-28 11:15:20 +09:00
|
|
|
[selectedUserList]="selectedUserList"
|
2019-11-19 13:14:38 +09:00
|
|
|
[isChecked]="getCheckedUser(userInfo)"
|
2020-02-06 20:15:41 +09:00
|
|
|
[checkable]="userInfo.seq !== loginRes.userSeq"
|
2019-12-05 14:37:09 +09:00
|
|
|
[checkDisabled]="!getCheckableUser(userInfo)"
|
2019-11-27 14:39:43 +09:00
|
|
|
(checkUser)="onCheckUser($event)"
|
2019-11-19 13:14:38 +09:00
|
|
|
(click)="onToggleUser(userInfo)"
|
2019-10-28 11:15:20 +09:00
|
|
|
>
|
2019-11-19 13:14:38 +09:00
|
|
|
</ucap-profile-user-list-item>
|
2019-10-28 11:15:20 +09:00
|
|
|
</div>
|
2019-10-23 15:07:41 +09:00
|
|
|
</div>
|
2020-02-06 20:15:41 +09:00
|
|
|
<ng-template
|
|
|
|
[ngTemplateOutlet]="selectedUserListTemplate"
|
|
|
|
></ng-template>
|
2019-10-23 15:07:41 +09:00
|
|
|
</div>
|
2019-10-18 13:02:43 +09:00
|
|
|
</mat-tab>
|
|
|
|
<mat-tab>
|
|
|
|
<ng-template mat-tab-label>
|
2020-02-06 10:24:47 +09:00
|
|
|
<button class="icon-button">
|
|
|
|
<i class="mid mid-24 mdi-file-tree"></i>
|
|
|
|
</button>
|
2019-10-18 13:02:43 +09:00
|
|
|
</ng-template>
|
2020-02-06 20:15:41 +09:00
|
|
|
<div fxFlexFill>
|
|
|
|
<div class="mat-tab-frame dialog-tab-orglist">
|
|
|
|
<app-layout-chat-left-sidenav-organization
|
|
|
|
[showTitle]="false"
|
|
|
|
[selectedUserList]="selectedUserList"
|
|
|
|
[ignoreUserList]="data.curRoomUser"
|
|
|
|
[isUserSelect]="true"
|
|
|
|
[isVisible]="currentTabIndex === 1"
|
|
|
|
(checkAllUser)="onCheckAllUser($event)"
|
|
|
|
(checkUser)="onCheckUser($event)"
|
|
|
|
(toggleUser)="onToggleUser($event)"
|
|
|
|
class="oraganization"
|
|
|
|
>
|
|
|
|
</app-layout-chat-left-sidenav-organization>
|
|
|
|
</div>
|
|
|
|
<ng-template
|
|
|
|
[ngTemplateOutlet]="selectedUserListTemplate"
|
|
|
|
></ng-template>
|
2019-10-28 11:15:20 +09:00
|
|
|
</div>
|
2019-10-18 13:02:43 +09:00
|
|
|
</mat-tab>
|
|
|
|
<mat-tab *ngIf="data.type === UserSelectDialogType.MessageForward">
|
|
|
|
<ng-template mat-tab-label>
|
2019-12-24 18:14:16 +09:00
|
|
|
<mat-icon
|
|
|
|
matTooltip="{{ 'chat.room' | translate }}"
|
|
|
|
matTooltipPosition="before"
|
2020-02-05 15:50:35 +09:00
|
|
|
class="icon-button"
|
|
|
|
><i class="mid mid-24 mdi-chat"></i>
|
2020-02-06 10:24:47 +09:00
|
|
|
</mat-icon>
|
2019-10-18 13:02:43 +09:00
|
|
|
</ng-template>
|
2020-02-06 20:15:41 +09:00
|
|
|
<div fxFlexFill style="max-height: 508px;">
|
|
|
|
<div class="mat-tab-frame dialog-tab-chatlist">
|
|
|
|
<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)"
|
|
|
|
(click)="onToggleRoom(room)"
|
|
|
|
class="chat"
|
|
|
|
>
|
|
|
|
</ucap-room-list-item>
|
|
|
|
</div>
|
2019-10-28 11:15:20 +09:00
|
|
|
</div>
|
2019-10-18 13:02:43 +09:00
|
|
|
</mat-tab>
|
|
|
|
</mat-tab-group>
|
|
|
|
</div>
|
2020-02-06 18:43:24 +09:00
|
|
|
</div>
|
2019-10-16 17:46:53 +09:00
|
|
|
</mat-card-content>
|
|
|
|
<mat-card-actions class="button-farm flex-row">
|
2019-10-18 09:48:38 +09:00
|
|
|
<button
|
|
|
|
mat-stroked-button
|
|
|
|
(click)="onClickChoice(false)"
|
|
|
|
class="mat-primary"
|
|
|
|
>
|
2020-01-08 12:30:39 +09:00
|
|
|
{{ 'common.messages.no' | translate }}
|
2019-10-16 17:46:53 +09:00
|
|
|
</button>
|
2019-11-15 17:55:05 +09:00
|
|
|
<button
|
|
|
|
mat-flat-button
|
|
|
|
[disabled]="getBtnValid()"
|
|
|
|
(click)="onClickChoice(true)"
|
|
|
|
class="mat-primary"
|
|
|
|
>
|
2020-01-08 12:30:39 +09:00
|
|
|
{{ 'common.messages.yes' | translate }}
|
2019-10-16 17:46:53 +09:00
|
|
|
</button>
|
|
|
|
</mat-card-actions>
|
|
|
|
</mat-card>
|
2020-02-06 20:15:41 +09:00
|
|
|
|
|
|
|
<ng-template #selectedUserListTemplate>
|
|
|
|
<div class="list-chip">
|
|
|
|
<mat-chip-list aria-label="User selection">
|
|
|
|
<mat-chip
|
|
|
|
*ngFor="let userInfo of selectedUserList"
|
|
|
|
[selected]="getChipsRemoveYn(userInfo)"
|
|
|
|
(removed)="onClickDeleteUser(userInfo)"
|
|
|
|
>
|
|
|
|
{{ userInfo.name }}
|
|
|
|
<mat-icon matChipRemove *ngIf="getChipsRemoveYn(userInfo)"
|
|
|
|
>clear</mat-icon
|
|
|
|
>
|
|
|
|
</mat-chip>
|
|
|
|
</mat-chip-list>
|
|
|
|
</div>
|
|
|
|
<span>
|
|
|
|
{{ selectedUserList.length }}
|
|
|
|
{{ 'common.units.persons' | translate }}
|
|
|
|
</span>
|
|
|
|
</ng-template>
|