0522 sync
This commit is contained in:
parent
344a105583
commit
886d545ccb
|
@ -5,21 +5,7 @@
|
|||
<ng-container *ngIf="isMe; then isMine; else other"></ng-container>
|
||||
<ng-template #isMine>
|
||||
<div class="user-profile-info">
|
||||
<!--[[ 대화상대 프로필-->
|
||||
<!-- 모바일이 온라인일 경우 + mobile-ing -->
|
||||
<!--
|
||||
<div class="user-profile-thumb mobile-ing">
|
||||
<span class="presence">온라인</span>
|
||||
<div class="profileImage">
|
||||
<img
|
||||
src="https://material.angular.io/assets/img/examples/shiba2.jpg"
|
||||
style="width: 122px; height: 122px;"
|
||||
/>
|
||||
</div>
|
||||
</div>-->
|
||||
<!--]]-->
|
||||
|
||||
<!--[[ 내프로필-->
|
||||
<div class="user-profile-thumb">
|
||||
<span class="presence">온라인</span>
|
||||
<div class="profileImage">
|
||||
|
@ -34,7 +20,6 @@
|
|||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<!--]]-->
|
||||
|
||||
<div class="userInfo">
|
||||
<div class="user-n-g">
|
||||
|
@ -81,24 +66,10 @@
|
|||
</button>
|
||||
</div>
|
||||
</ng-template>
|
||||
<!-- + 대회상대 프로필-->
|
||||
|
||||
<ng-template #other>
|
||||
<div class="user-profile-info">
|
||||
<!--[[ 대화상대 프로필-->
|
||||
<!-- 모바일이 온라인일 경우 + mobile-ing -->
|
||||
<!--
|
||||
<div class="user-profile-thumb mobile-ing">
|
||||
<span class="presence">온라인</span>
|
||||
<div class="profileImage">
|
||||
<img
|
||||
src="https://material.angular.io/assets/img/examples/shiba2.jpg"
|
||||
style="width: 122px; height: 122px;"
|
||||
/>
|
||||
</div>
|
||||
</div>-->
|
||||
<!--]]-->
|
||||
|
||||
<!--[[ 내프로필-->
|
||||
<div class="user-profile-thumb">
|
||||
<span class="presence">온라인</span>
|
||||
<div class="profileImage">
|
||||
|
@ -108,7 +79,7 @@
|
|||
/>
|
||||
</div>
|
||||
</div>
|
||||
<!--]]-->
|
||||
|
||||
|
||||
<div class="userInfo">
|
||||
<div class="user-n-g">
|
||||
|
@ -116,8 +87,6 @@
|
|||
<div class="grade">{{ userInfo?.grade }}</div>
|
||||
</div>
|
||||
<div class="deptName">({{ userInfo?.nameEn }})</div>
|
||||
<!-- + 대화상대 프로필 추가 -->
|
||||
<!-- -->
|
||||
|
||||
<div class="nickName">
|
||||
<div class="nickName-info">닉네임 미설정</div>
|
||||
|
|
24
documents/업무/5월/3째주/0518.txt
Normal file
24
documents/업무/5월/3째주/0518.txt
Normal file
|
@ -0,0 +1,24 @@
|
|||
프로필 메뉴
|
||||
|
||||
|
||||
전체보기
|
||||
bulkinfo 연동
|
||||
접속된 동료만 보기
|
||||
온/오프라인 보기
|
||||
|
||||
infoUser$ = createEffect(() =>
|
||||
this.actions$.pipe(
|
||||
ofType(infoUser),
|
||||
map((action) => action.req),
|
||||
exhaustMap((req) =>
|
||||
this.infoProtocolService.user(req).pipe(
|
||||
map((res: UserResponse) => {
|
||||
return infoUserSuccess({
|
||||
res
|
||||
});
|
||||
}),
|
||||
catchError((error) => of(infoUserFailure({ error })))
|
||||
)
|
||||
)
|
||||
)
|
||||
);
|
23
documents/업무/5월/3째주/0519.txt
Normal file
23
documents/업무/5월/3째주/0519.txt
Normal file
|
@ -0,0 +1,23 @@
|
|||
groups
|
||||
SENDER_SEQ: "770074"
|
||||
SSVC_TYPE: 5
|
||||
SVC_TYPE: 82
|
||||
isActive: true
|
||||
name: "testsssss"
|
||||
seq: 16
|
||||
|
||||
userSeqs: [737239, 737243],
|
||||
SENDER_SEQ: "770074"
|
||||
SSVC_TYPE: 5
|
||||
SVC_TYPE: 82
|
||||
isActive: true
|
||||
name: "그룹생성테스트수ㅡ정"
|
||||
seq: 24
|
||||
userSeqs: (2) [677713, 737237],
|
||||
SENDER_SEQ: "770074"
|
||||
SSVC_TYPE: 5
|
||||
SVC_TYPE: 82
|
||||
isActive: true
|
||||
name: "그룹테스트2"
|
||||
seq: 23
|
||||
userSeqs: (3) [701307, 677714, 3627]
|
113
documents/업무/5월/3째주/0520.txt
Normal file
113
documents/업무/5월/3째주/0520.txt
Normal file
|
@ -0,0 +1,113 @@
|
|||
677713
|
||||
737237
|
||||
|
||||
|
||||
*ngIf="
|
||||
!editablGroup ||
|
||||
(!!editablGroup && editablGroup.seq !== node.groupDetail.seq)
|
||||
"
|
||||
|
||||
<span
|
||||
*ngIf="
|
||||
!editablGroup ||
|
||||
(!!editablGroup && editablGroup.seq !== node.groupDetail.seq)
|
||||
"
|
||||
class="header-buddy"
|
||||
>
|
||||
<span>{{ node.groupDetail.name }}</span>
|
||||
<span>
|
||||
{{ node.children?.length }}
|
||||
</span>
|
||||
</span>
|
||||
<span
|
||||
class="header-buddy"
|
||||
*ngIf="!!editablGroup && editablGroup.seq === node.groupDetail.seq"
|
||||
(click)="$event.stopPropagation()"
|
||||
>
|
||||
<mat-form-field>
|
||||
<input
|
||||
matInput
|
||||
#groupInput
|
||||
placeholder=""
|
||||
[value]="node.groupDetail.name"
|
||||
/>
|
||||
<button
|
||||
mat-button
|
||||
matSuffix
|
||||
mat-icon-button
|
||||
aria-label="Clear"
|
||||
(click)="groupInput.value = ''"
|
||||
>
|
||||
<mat-icon>close</mat-icon>
|
||||
</button>
|
||||
<button
|
||||
mat-button
|
||||
mat-icon-button
|
||||
aria-label="Done"
|
||||
(click)="onEditGroupName(groupInput.value, node.groupDetail)"
|
||||
>
|
||||
<mat-icon>done</mat-icon>
|
||||
</button>
|
||||
</mat-form-field>
|
||||
</span>
|
||||
|
||||
<!-- 13:10분 그룹이름 수정 코드 -->
|
||||
<span
|
||||
*ngIf="
|
||||
!editablGroup ||
|
||||
(!!editablGroup && editablGroup.seq !== node.groupDetail.seq)
|
||||
"
|
||||
class="header-buddy"
|
||||
>
|
||||
<span>{{ node.groupDetail.name }}</span>
|
||||
<span> ({{ node.children?.length }}) </span>
|
||||
</span>
|
||||
<span
|
||||
class="header-buddy"
|
||||
*ngIf="!!editablGroup && editablGroup.seq === node.groupDetail.seq"
|
||||
(click)="$event.stopPropagation()"
|
||||
>
|
||||
<ucap-inline-edit-input
|
||||
[initialMode]="true"
|
||||
(apply)="
|
||||
$event.stopPropagation();
|
||||
onApplyEditGroupName(editGroupInput.value, node.groupDetail)
|
||||
"
|
||||
(edit)="$event.stopPropagation()"
|
||||
(cancel)="
|
||||
$event.stopPropagation();
|
||||
editGroupInput.value = node.groupDetail.name;
|
||||
editablGroup = null
|
||||
"
|
||||
class="form-eidt"
|
||||
>
|
||||
<span ucapInlineEditInput="view">{{ node.groupDetail.name }}</span>
|
||||
<span ucapInlineEditInput="edit"
|
||||
><input
|
||||
matInput
|
||||
#editGroupInput
|
||||
type="text"
|
||||
[value]="node.groupDetail.name"
|
||||
(click)="$event.stopPropagation()"
|
||||
/></span>
|
||||
</ucap-inline-edit-input>
|
||||
</span>
|
||||
<!-- 13:10분 그룹이름 수정 코드 -->
|
||||
|
||||
150 + 60
|
||||
150 + 120
|
||||
150 + 180
|
||||
|
||||
241 - 150 = 91 - 30 = 61
|
||||
304 - 150 = 154 - 30 = 124
|
||||
366 - 150 = 216 - 30 = 186
|
||||
0:
|
||||
srcTop = 210
|
||||
dstTop = 241
|
||||
1:
|
||||
srcTop = 270
|
||||
dstTop = 304
|
||||
2:
|
||||
srcTop = 330
|
||||
dstTop = 366
|
||||
|
45
documents/업무/5월/3째주/0522.txt
Normal file
45
documents/업무/5월/3째주/0522.txt
Normal file
|
@ -0,0 +1,45 @@
|
|||
nickname action added : complete
|
||||
nickname action dispatch test: complete
|
||||
buddy nickname change confirm: complete
|
||||
edit inline dialog component
|
||||
- positionX, positionY, title,
|
||||
- text, confirm
|
||||
-
|
||||
|
||||
buddy manage dialog
|
||||
profile list item
|
||||
- data
|
||||
- check box
|
||||
- select list : userInfo
|
||||
|
||||
- action
|
||||
- all checkbox
|
||||
- remove dispatch
|
||||
- copy dispatch
|
||||
- 새그룹명 입력
|
||||
- 이동할 그룹
|
||||
- 선택된 유저 리스트
|
||||
- move dispatch
|
||||
- 새그룹명 입력
|
||||
- 이동할 그룹
|
||||
- 선택된 유저 리스트
|
||||
- select user dialog
|
||||
- 기존 유저 선택
|
||||
|
||||
|
||||
ng-container
|
||||
idx stepper move
|
||||
|
||||
|
||||
|
||||
profile list item mouseover button event bug fix
|
||||
|
||||
1. group buddy remove
|
||||
|
||||
const userSeq = 737237 as any;
|
||||
|
||||
const idx = buddies.findIndex((b) => b.seq === userSeq);
|
||||
|
||||
const userSeq = '737237' as any;
|
||||
|
||||
const idx = buddies.findIndex((b) => b.seq === Number(userSeq));
|
470
documents/업무/5월/3째주/Untitled-1.html
Normal file
470
documents/업무/5월/3째주/Untitled-1.html
Normal file
|
@ -0,0 +1,470 @@
|
|||
<div fxFlexFill class="profile-container">
|
||||
<!-- <ucap-organization-profile-01
|
||||
[authRes]="authRes"
|
||||
[userInfo]="userInfo"
|
||||
[profileImageRoot]="versionInfo2Res?.profileRoot"
|
||||
[isMe]="
|
||||
!!userInfo &&
|
||||
!!loginRes &&
|
||||
userInfo.seq === String(loginRes.userInfo?.seq)
|
||||
"
|
||||
>
|
||||
</ucap-organization-profile-01> -->
|
||||
<div class="ucap-organization-profile-01-container">
|
||||
<!--Profile -->
|
||||
<div class="profile-card-box">
|
||||
<ng-container
|
||||
*ngIf="
|
||||
!!userInfo &&
|
||||
!!loginRes &&
|
||||
userInfo.seq === String(loginRes.userInfo?.seq);
|
||||
then mineProfile;
|
||||
else otherProfile
|
||||
"
|
||||
></ng-container>
|
||||
|
||||
<ng-template #otherProfile>
|
||||
<div class="user-profile-info">
|
||||
<div class="user-profile-thumb">
|
||||
<span
|
||||
class="presence"
|
||||
[ngClass]="getPresence(PresenceType.PC)"
|
||||
[matTooltip]="getPresenceMsg()"
|
||||
matTooltipPosition="after"
|
||||
></span>
|
||||
<div class="profileImage">
|
||||
<img
|
||||
src="../../../assets/images/ico/img_nophoto.svg"
|
||||
style="width: 122px; height: 122px;"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="userInfo">
|
||||
<div class="user-n-g">
|
||||
<div class="name">{{ userInfo?.name }}</div>
|
||||
<div class="grade">{{ userInfo?.grade }}</div>
|
||||
</div>
|
||||
<div class="deptName">({{ userInfo?.nameEn }})</div>
|
||||
|
||||
<div class="nickName">
|
||||
<div class="nickName-info">
|
||||
<mat-form-field
|
||||
class="example-full-width my-in-input"
|
||||
appearance="none"
|
||||
>
|
||||
<mat-label></mat-label>
|
||||
<input
|
||||
#nicknameInput
|
||||
matInput
|
||||
placeholder="닉네임 미설정"
|
||||
value=""
|
||||
/>
|
||||
</mat-form-field>
|
||||
</div>
|
||||
<button
|
||||
mat-icon-button
|
||||
aria-label="icon create"
|
||||
class="color-white"
|
||||
(click)="onProfileIntro(nicknameInput.value)"
|
||||
>
|
||||
<mat-icon>create</mat-icon>
|
||||
</button>
|
||||
</div>
|
||||
<div class="address-txt">
|
||||
{{ userInfo?.intro }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="btn-profile-add">
|
||||
<button
|
||||
mat-icon-button
|
||||
class="btn-star-add"
|
||||
[ngClass]="[isFavorite ? 'on' : '']"
|
||||
aria-label="Example icon-button with a heart icon"
|
||||
*ngIf="!isFavorite"
|
||||
(click)="onToggleFavorit()"
|
||||
>
|
||||
<img
|
||||
src="../../../assets/images/ico/btn_favorite_w24_s.svg"
|
||||
alt=""
|
||||
/>
|
||||
</button>
|
||||
<button
|
||||
mat-icon-button
|
||||
class="btn-star-add"
|
||||
aria-label="Example icon-button with a heart icon"
|
||||
*ngIf="!isBuddy"
|
||||
>
|
||||
<img
|
||||
src="../../../assets/images/ico/btn_group_add_w24.svg"
|
||||
alt=""
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="btn-partner-set">
|
||||
<button mat-icon-button aria-label="chat">
|
||||
<img
|
||||
src="../../../assets/images/ico/btn_lise_chat_a24.svg"
|
||||
alt=""
|
||||
/>
|
||||
</button>
|
||||
<button mat-icon-button aria-label="message">
|
||||
<img
|
||||
src="../../../assets/images/ico/btn_list_message_a24.svg"
|
||||
alt=""
|
||||
/>
|
||||
</button>
|
||||
<button mat-icon-button aria-label="mobile">
|
||||
<img
|
||||
src="../../../assets/images/ico/btn_list_mobile_a24.svg"
|
||||
alt=""
|
||||
/>
|
||||
</button>
|
||||
<button mat-icon-button aria-label="call">
|
||||
<img
|
||||
src="../../../assets/images/ico/btn_list_call_a24.svg"
|
||||
alt=""
|
||||
/>
|
||||
</button>
|
||||
<button mat-icon-button aria-label="vc">
|
||||
<img src="../../../assets/images/ico/btn_list_vc-a24.<div fxFlexFill class="profile-container">
|
||||
<div class="ucap-organization-profile-01-container">
|
||||
<!--Profile -->
|
||||
<div class="profile-card-box">
|
||||
<div class="user-profile-info">
|
||||
<!--[[ 대화상대 프로필-->
|
||||
<!-- 모바일이 온라인일 경우 + mobile-ing -->
|
||||
<div class="user-profile-thumb">
|
||||
<span
|
||||
class="presence"
|
||||
[ngClass]="getPresence(PresenceType.PC)"
|
||||
[matTooltip]="getPresenceMsg()"
|
||||
matTooltipPosition="after"
|
||||
></span>
|
||||
<div class="profileImage" (click)="onProfileImageView()">
|
||||
<img
|
||||
src="../../../assets/images/ico/img_nophoto.svg"
|
||||
style="width: 122px; height: 122px;"
|
||||
/>
|
||||
</div>
|
||||
<!--[[ 내프로필-->
|
||||
<div
|
||||
*ngIf="
|
||||
!!userInfo &&
|
||||
!!loginRes &&
|
||||
userInfo.seq === String(loginRes.userInfo?.seq)
|
||||
"
|
||||
class="btn-profile-ctrl"
|
||||
>
|
||||
<button
|
||||
mat-mini-fab
|
||||
color="primary"
|
||||
class="mat-mini36-fab"
|
||||
(click)="profileImageFileInput.click()"
|
||||
>
|
||||
<mat-icon class="material-icons-outlined">camera_alt</mat-icon>
|
||||
</button>
|
||||
<input
|
||||
type="file"
|
||||
#profileImageFileInput
|
||||
style="display: none;"
|
||||
(change)="onChangeFileInput()"
|
||||
/>
|
||||
</div>
|
||||
<!--]]-->
|
||||
</div>
|
||||
<!--]]-->
|
||||
<div class="userInfo">
|
||||
<div class="user-n-g">
|
||||
<div class="name">{{ userInfo?.name }}</div>
|
||||
<div class="grade">{{ userInfo?.grade }}</div>
|
||||
</div>
|
||||
<div class="deptName">({{ userInfo?.nameEn }})</div>
|
||||
|
||||
<ng-container
|
||||
*ngIf="
|
||||
!!userInfo &&
|
||||
!!loginRes &&
|
||||
userInfo.seq !== String(loginRes.userInfo?.seq)
|
||||
"
|
||||
>
|
||||
<!-- + 대화상대 프로필 추가 -->
|
||||
<div class="nickName">
|
||||
<div class="nickName-info">
|
||||
<mat-form-field
|
||||
class="example-full-width my-in-input"
|
||||
appearance="none"
|
||||
>
|
||||
<mat-label></mat-label>
|
||||
<input
|
||||
#nicknameInput
|
||||
matInput
|
||||
placeholder="닉네임 미설정"
|
||||
value=""
|
||||
/>
|
||||
</mat-form-field>
|
||||
</div>
|
||||
<button
|
||||
mat-icon-button
|
||||
aria-label="icon create"
|
||||
class="color-white"
|
||||
(click)="onChangeNickname(nicknameInput.value)"
|
||||
>
|
||||
<mat-icon>create</mat-icon>
|
||||
</button>
|
||||
</div>
|
||||
<!--]]-->
|
||||
</ng-container>
|
||||
<ng-container
|
||||
*ngIf="
|
||||
!!userInfo &&
|
||||
!!loginRes &&
|
||||
userInfo.seq === String(loginRes.userInfo?.seq);
|
||||
then mineProfileIntro;
|
||||
else otherProfileIntro
|
||||
"
|
||||
>
|
||||
</ng-container>
|
||||
<ng-template #otherProfileIntro>
|
||||
<div class="address-txt">
|
||||
{{ userInfo?.intro }}
|
||||
</div>
|
||||
</ng-template>
|
||||
<ng-template #mineProfileIntro>
|
||||
<div class="my-input inputtype">
|
||||
<mat-form-field
|
||||
class="example-full-width my-in-input"
|
||||
appearance="none"
|
||||
>
|
||||
<mat-label></mat-label>
|
||||
<input
|
||||
#myProfileIntro
|
||||
matInput
|
||||
placeholder=""
|
||||
value="{{ userInfo?.intro }}"
|
||||
/>
|
||||
</mat-form-field>
|
||||
<button
|
||||
mat-icon-button
|
||||
aria-label="icon create"
|
||||
class="color-white"
|
||||
(click)="onChangeIntro(myProfileIntro.value)"
|
||||
>
|
||||
<mat-icon>create</mat-icon>
|
||||
</button>
|
||||
</div>
|
||||
</ng-template>
|
||||
</div>
|
||||
|
||||
<div
|
||||
*ngIf="
|
||||
!!userInfo &&
|
||||
!!loginRes &&
|
||||
userInfo.seq !== String(loginRes.userInfo?.seq)
|
||||
"
|
||||
class="btn-profile-add"
|
||||
>
|
||||
<button
|
||||
mat-icon-button
|
||||
class="btn-star-add"
|
||||
aria-label="Example icon-button with a heart icon"
|
||||
*ngIf="isBuddy"
|
||||
>
|
||||
<img
|
||||
src="../../../assets/images/ico/btn_favorite_w24_s.svg"
|
||||
alt=""
|
||||
/>
|
||||
</button>
|
||||
<button
|
||||
mat-icon-button
|
||||
class="btn-star-add"
|
||||
aria-label="Example icon-button with a heart icon"
|
||||
>
|
||||
<img
|
||||
src="../../../assets/images/ico/btn_group_add_w24.svg"
|
||||
alt=""
|
||||
/>
|
||||
</button>
|
||||
<button
|
||||
mat-icon-button
|
||||
class="btn-star-add"
|
||||
aria-label="Example icon-button with a heart icon"
|
||||
>
|
||||
<img
|
||||
src="../../../assets/images/ico/btn_group_add_w24.svg"
|
||||
alt=""
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
<div
|
||||
*ngIf="
|
||||
!!userInfo &&
|
||||
!!loginRes &&
|
||||
userInfo.seq !== String(loginRes.userInfo?.seq)
|
||||
"
|
||||
class="btn-partner-set"
|
||||
>
|
||||
<button mat-icon-button aria-label="chat">
|
||||
<img
|
||||
src="../../../assets/images/ico/btn_lise_chat_a24.svg"
|
||||
alt=""
|
||||
/>
|
||||
</button>
|
||||
<button mat-icon-button aria-label="message">
|
||||
<img
|
||||
src="../../../assets/images/ico/btn_list_message_a24.svg"
|
||||
alt=""
|
||||
/>
|
||||
</button>
|
||||
<button
|
||||
mat-icon-button
|
||||
aria-label="mobile"
|
||||
(click)="onSendCall('MOBILE')"
|
||||
>
|
||||
<img
|
||||
src="../../../assets/images/ico/btn_list_mobile_a24.svg"
|
||||
alt=""
|
||||
/>
|
||||
</button>
|
||||
<button
|
||||
mat-icon-button
|
||||
aria-label="call"
|
||||
(click)="onSendCall('LINE')"
|
||||
>
|
||||
<img
|
||||
src="../../../assets/images/ico/btn_list_call_a24.svg"
|
||||
alt=""
|
||||
/>
|
||||
</button>
|
||||
<button mat-icon-button aria-label="vc">
|
||||
<img src="../../../assets/images/ico/btn_list_vc-a24.svg" alt="" />
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="user-profile-info-list">
|
||||
<ul>
|
||||
<li>
|
||||
<span>{{ 'profile.labels.company' | ucapI18n }}</span>
|
||||
{{ userInfo?.companyName }}
|
||||
</li>
|
||||
<li>
|
||||
<span>{{ 'profile.labels.department' | ucapI18n }}</span>
|
||||
{{ userInfo?.deptName }}
|
||||
</li>
|
||||
<li>
|
||||
<span>{{ 'profile.labels.email' | ucapI18n }}</span>
|
||||
{{ userInfo?.email }}
|
||||
</li>
|
||||
<li>
|
||||
<span>{{ 'profile.labels.linePhoneNumber' | ucapI18n }}</span>
|
||||
{{ userInfo?.lineNumber }}
|
||||
</li>
|
||||
<li>
|
||||
<span>{{ 'profile.labels.mobilePhoneNumber' | ucapI18n }}</span>
|
||||
{{ userInfo?.hpNumber }}
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<!-- //Profile-->
|
||||
</div>
|
||||
</div>
|
||||
svg" alt="" />
|
||||
</button>
|
||||
</div>
|
||||
</ng-template>
|
||||
<ng-template #mineProfile>
|
||||
<div class="user-profile-info">
|
||||
<div class="user-profile-thumb">
|
||||
<span
|
||||
class="presence"
|
||||
[ngClass]="getPresence(PresenceType.PC)"
|
||||
[matTooltip]="getPresenceMsg()"
|
||||
matTooltipPosition="after"
|
||||
>온라인</span
|
||||
>
|
||||
<div class="profileImage">
|
||||
<img
|
||||
src="../../../assets/images/ico/img_nophoto.svg"
|
||||
style="width: 122px; height: 122px;"
|
||||
/>
|
||||
</div>
|
||||
<div class="btn-profile-ctrl">
|
||||
<button
|
||||
mat-mini-fab
|
||||
color="primary"
|
||||
class="mat-mini36-fab"
|
||||
(click)="profileImageFileInput.click()"
|
||||
>
|
||||
<mat-icon class="material-icons-outlined">camera_alt</mat-icon>
|
||||
</button>
|
||||
<input
|
||||
type="file"
|
||||
#profileImageFileInput
|
||||
style="display: none;"
|
||||
(change)="onChangeFileInput()"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="userInfo">
|
||||
<div class="user-n-g">
|
||||
<div class="name">{{ userInfo?.name }}</div>
|
||||
<div class="grade">{{ userInfo?.grade }}</div>
|
||||
</div>
|
||||
<div class="deptName">({{ userInfo?.nameEn }})</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="my-input inputtype">
|
||||
<mat-form-field
|
||||
class="example-full-width my-in-input"
|
||||
appearance="none"
|
||||
>
|
||||
<mat-label></mat-label>
|
||||
<input
|
||||
#myProfileIntro
|
||||
matInput
|
||||
placeholder=""
|
||||
value="마곡 사이언스 파크 E14동 9층"
|
||||
/>
|
||||
</mat-form-field>
|
||||
<button
|
||||
mat-icon-button
|
||||
aria-label="icon create"
|
||||
class="color-white"
|
||||
(click)="onProfileIntro(myProfileIntro.value)"
|
||||
>
|
||||
<mat-icon>create</mat-icon>
|
||||
</button>
|
||||
</div>
|
||||
</ng-template>
|
||||
|
||||
<div class="user-profile-info-list">
|
||||
<ul>
|
||||
<li>
|
||||
<span>{{ 'profile.labels.company' | ucapI18n }}</span>
|
||||
{{ userInfo?.companyName }}
|
||||
</li>
|
||||
<li>
|
||||
<span>{{ 'profile.labels.department' | ucapI18n }}</span>
|
||||
{{ userInfo?.deptName }}
|
||||
</li>
|
||||
<li>
|
||||
<span>{{ 'profile.labels.email' | ucapI18n }}</span>
|
||||
{{ userInfo?.email }}
|
||||
</li>
|
||||
<li>
|
||||
<span>{{ 'profile.labels.linePhoneNumber' | ucapI18n }}</span>
|
||||
{{ userInfo?.lineNumber }}
|
||||
</li>
|
||||
<li>
|
||||
<span>{{ 'profile.labels.mobilePhoneNumber' | ucapI18n }}</span>
|
||||
{{ userInfo?.hpNumber }}
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<!-- //Profile-->
|
||||
</div>
|
||||
</div>
|
218
documents/업무/5월/3째주/Untitled-2.html
Normal file
218
documents/업무/5월/3째주/Untitled-2.html
Normal file
|
@ -0,0 +1,218 @@
|
|||
<div class="ucap-organization-profile-01-container">
|
||||
<!--Profile -->
|
||||
<div class="profile-card-box">
|
||||
<div class="user-profile-info">
|
||||
<div class="user-profile-thumb">
|
||||
<span
|
||||
class="presence"
|
||||
[ngClass]="getPresence(PresenceType.PC)"
|
||||
[matTooltip]="getPresenceMsg()"
|
||||
matTooltipPosition="after"
|
||||
></span>
|
||||
<div class="profileImage">
|
||||
<img
|
||||
src="../../../assets/images/ico/img_nophoto.svg"
|
||||
style="width: 122px; height: 122px;"
|
||||
/>
|
||||
</div>
|
||||
<div
|
||||
*ngIf="
|
||||
!!userInfo &&
|
||||
!!loginRes &&
|
||||
userInfo.seq === String(loginRes.userInfo?.seq)
|
||||
"
|
||||
class="btn-profile-ctrl"
|
||||
>
|
||||
<button
|
||||
mat-mini-fab
|
||||
color="primary"
|
||||
class="mat-mini36-fab"
|
||||
(click)="profileImageFileInput.click()"
|
||||
>
|
||||
<mat-icon class="material-icons-outlined">camera_alt</mat-icon>
|
||||
</button>
|
||||
<input
|
||||
type="file"
|
||||
#profileImageFileInput
|
||||
style="display: none;"
|
||||
(change)="onChangeFileInput()"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="userInfo">
|
||||
<div class="user-n-g">
|
||||
<div class="name">{{ userInfo?.name }}</div>
|
||||
<div class="grade">{{ userInfo?.grade }}</div>
|
||||
</div>
|
||||
<div class="deptName">({{ userInfo?.nameEn }})</div>
|
||||
|
||||
<ng-container
|
||||
*ngIf="
|
||||
!!userInfo &&
|
||||
!!loginRes &&
|
||||
userInfo.seq !== String(loginRes.userInfo?.seq)
|
||||
"
|
||||
>
|
||||
<div class="nickName">
|
||||
<div class="nickName-info">
|
||||
<mat-form-field
|
||||
class="example-full-width my-in-input"
|
||||
appearance="none"
|
||||
>
|
||||
<mat-label></mat-label>
|
||||
<input
|
||||
#nicknameInput
|
||||
matInput
|
||||
placeholder="닉네임 미설정"
|
||||
value=""
|
||||
/>
|
||||
</mat-form-field>
|
||||
</div>
|
||||
<button
|
||||
mat-icon-button
|
||||
aria-label="icon create"
|
||||
class="color-white"
|
||||
(click)="onProfileIntro(nicknameInput.value)"
|
||||
>
|
||||
<mat-icon>create</mat-icon>
|
||||
</button>
|
||||
</div>
|
||||
</ng-container>
|
||||
<ng-container
|
||||
*ngIf="
|
||||
!!userInfo &&
|
||||
!!loginRes &&
|
||||
userInfo.seq === String(loginRes.userInfo?.seq);
|
||||
then mineProfileIntro;
|
||||
else otherProfileIntro
|
||||
"
|
||||
>
|
||||
</ng-container>
|
||||
<ng-template #otherProfileIntro>
|
||||
<div class="address-txt">
|
||||
{{ userInfo?.intro }}
|
||||
</div>
|
||||
</ng-template>
|
||||
<ng-template #mineProfileIntro>
|
||||
<div class="my-input inputtype">
|
||||
<mat-form-field
|
||||
class="example-full-width my-in-input"
|
||||
appearance="none"
|
||||
>
|
||||
<mat-label></mat-label>
|
||||
<input
|
||||
#myProfileIntro
|
||||
matInput
|
||||
placeholder=""
|
||||
value="{{ userInfo?.intro }}"
|
||||
/>
|
||||
</mat-form-field>
|
||||
<button
|
||||
mat-icon-button
|
||||
aria-label="icon create"
|
||||
class="color-white"
|
||||
(click)="onProfileIntro(myProfileIntro.value)"
|
||||
>
|
||||
<mat-icon>create</mat-icon>
|
||||
</button>
|
||||
</div>
|
||||
</ng-template>
|
||||
</div>
|
||||
<div
|
||||
*ngIf="
|
||||
!!userInfo &&
|
||||
!!loginRes &&
|
||||
userInfo.seq !== String(loginRes.userInfo?.seq)
|
||||
"
|
||||
class="btn-profile-add"
|
||||
>
|
||||
<button
|
||||
mat-icon-button
|
||||
class="btn-star-add"
|
||||
[ngClass]="[isFavorite ? 'on' : '']"
|
||||
aria-label="Example icon-button with a heart icon"
|
||||
*ngIf="!isFavorite"
|
||||
(click)="onToggleFavorit()"
|
||||
>
|
||||
<img
|
||||
src="../../../assets/images/ico/btn_favorite_w24_s.svg"
|
||||
alt=""
|
||||
/>
|
||||
</button>
|
||||
<button
|
||||
mat-icon-button
|
||||
class="btn-star-add"
|
||||
aria-label="Example icon-button with a heart icon"
|
||||
*ngIf="!isBuddy"
|
||||
>
|
||||
<img
|
||||
src="../../../assets/images/ico/btn_group_add_w24.svg"
|
||||
alt=""
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
<div
|
||||
*ngIf="
|
||||
!!userInfo &&
|
||||
!!loginRes &&
|
||||
userInfo.seq !== String(loginRes.userInfo?.seq)
|
||||
"
|
||||
class="btn-partner-set"
|
||||
>
|
||||
<button mat-icon-button aria-label="chat">
|
||||
<img
|
||||
src="../../../assets/images/ico/btn_lise_chat_a24.svg"
|
||||
alt=""
|
||||
/>
|
||||
</button>
|
||||
<button mat-icon-button aria-label="message">
|
||||
<img
|
||||
src="../../../assets/images/ico/btn_list_message_a24.svg"
|
||||
alt=""
|
||||
/>
|
||||
</button>
|
||||
<button mat-icon-button aria-label="mobile">
|
||||
<img
|
||||
src="../../../assets/images/ico/btn_list_mobile_a24.svg"
|
||||
alt=""
|
||||
/>
|
||||
</button>
|
||||
<button mat-icon-button aria-label="call">
|
||||
<img
|
||||
src="../../../assets/images/ico/btn_list_call_a24.svg"
|
||||
alt=""
|
||||
/>
|
||||
</button>
|
||||
<button mat-icon-button aria-label="vc">
|
||||
<img src="../../../assets/images/ico/btn_list_vc-a24.svg" alt="" />
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="user-profile-info-list">
|
||||
<ul>
|
||||
<li>
|
||||
<span>{{ 'profile.labels.company' | ucapI18n }}</span>
|
||||
{{ userInfo?.companyName }}
|
||||
</li>
|
||||
<li>
|
||||
<span>{{ 'profile.labels.department' | ucapI18n }}</span>
|
||||
{{ userInfo?.deptName }}
|
||||
</li>
|
||||
<li>
|
||||
<span>{{ 'profile.labels.email' | ucapI18n }}</span>
|
||||
{{ userInfo?.email }}
|
||||
</li>
|
||||
<li>
|
||||
<span>{{ 'profile.labels.linePhoneNumber' | ucapI18n }}</span>
|
||||
{{ userInfo?.lineNumber }}
|
||||
</li>
|
||||
<li>
|
||||
<span>{{ 'profile.labels.mobilePhoneNumber' | ucapI18n }}</span>
|
||||
{{ userInfo?.hpNumber }}
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<!-- //Profile-->
|
||||
</div>
|
||||
</div>
|
242
documents/업무/5월/3째주/Untitled-3.html
Normal file
242
documents/업무/5월/3째주/Untitled-3.html
Normal file
|
@ -0,0 +1,242 @@
|
|||
<div fxFlexFill class="profile-container">
|
||||
<div class="ucap-organization-profile-01-container">
|
||||
<!--Profile -->
|
||||
<div class="profile-card-box">
|
||||
<div class="user-profile-info">
|
||||
<!--[[ 대화상대 프로필-->
|
||||
<!-- 모바일이 온라인일 경우 + mobile-ing -->
|
||||
<div class="user-profile-thumb">
|
||||
<span
|
||||
class="presence"
|
||||
[ngClass]="getPresence(PresenceType.PC)"
|
||||
[matTooltip]="getPresenceMsg()"
|
||||
matTooltipPosition="after"
|
||||
></span>
|
||||
<div class="profileImage" (click)="onProfileImageView()">
|
||||
<img
|
||||
src="../../../assets/images/ico/img_nophoto.svg"
|
||||
style="width: 122px; height: 122px;"
|
||||
/>
|
||||
</div>
|
||||
<!--[[ 내프로필-->
|
||||
<div
|
||||
*ngIf="
|
||||
!!userInfo &&
|
||||
!!loginRes &&
|
||||
userInfo.seq === String(loginRes.userInfo?.seq)
|
||||
"
|
||||
class="btn-profile-ctrl"
|
||||
>
|
||||
<button
|
||||
mat-mini-fab
|
||||
color="primary"
|
||||
class="mat-mini36-fab"
|
||||
(click)="profileImageFileInput.click()"
|
||||
>
|
||||
<mat-icon class="material-icons-outlined">camera_alt</mat-icon>
|
||||
</button>
|
||||
<input
|
||||
type="file"
|
||||
#profileImageFileInput
|
||||
style="display: none;"
|
||||
(change)="onChangeFileInput()"
|
||||
/>
|
||||
</div>
|
||||
<!--]]-->
|
||||
</div>
|
||||
<!--]]-->
|
||||
<div class="userInfo">
|
||||
<div class="user-n-g">
|
||||
<div class="name">{{ userInfo?.name }}</div>
|
||||
<div class="grade">{{ userInfo?.grade }}</div>
|
||||
</div>
|
||||
<div class="deptName">({{ userInfo?.nameEn }})</div>
|
||||
|
||||
<ng-container
|
||||
*ngIf="
|
||||
!!userInfo &&
|
||||
!!loginRes &&
|
||||
userInfo.seq !== String(loginRes.userInfo?.seq)
|
||||
"
|
||||
>
|
||||
<!-- + 대화상대 프로필 추가 -->
|
||||
<div class="nickName">
|
||||
<div class="nickName-info">
|
||||
<mat-form-field
|
||||
class="example-full-width my-in-input"
|
||||
appearance="none"
|
||||
>
|
||||
<mat-label></mat-label>
|
||||
<input
|
||||
#nicknameInput
|
||||
matInput
|
||||
placeholder="닉네임 미설정"
|
||||
value=""
|
||||
/>
|
||||
</mat-form-field>
|
||||
</div>
|
||||
<button
|
||||
mat-icon-button
|
||||
aria-label="icon create"
|
||||
class="color-white"
|
||||
(click)="onChangeNickname(nicknameInput.value)"
|
||||
>
|
||||
<mat-icon>create</mat-icon>
|
||||
</button>
|
||||
</div>
|
||||
<!--]]-->
|
||||
</ng-container>
|
||||
<ng-container
|
||||
*ngIf="
|
||||
!!userInfo &&
|
||||
!!loginRes &&
|
||||
userInfo.seq === String(loginRes.userInfo?.seq);
|
||||
then mineProfileIntro;
|
||||
else otherProfileIntro
|
||||
"
|
||||
>
|
||||
</ng-container>
|
||||
<ng-template #otherProfileIntro>
|
||||
<div class="address-txt">
|
||||
{{ userInfo?.intro }}
|
||||
</div>
|
||||
</ng-template>
|
||||
<ng-template #mineProfileIntro>
|
||||
<div class="my-input inputtype">
|
||||
<mat-form-field
|
||||
class="example-full-width my-in-input"
|
||||
appearance="none"
|
||||
>
|
||||
<mat-label></mat-label>
|
||||
<input
|
||||
#myProfileIntro
|
||||
matInput
|
||||
placeholder=""
|
||||
value="{{ userInfo?.intro }}"
|
||||
/>
|
||||
</mat-form-field>
|
||||
<button
|
||||
mat-icon-button
|
||||
aria-label="icon create"
|
||||
class="color-white"
|
||||
(click)="onChangeIntro(myProfileIntro.value)"
|
||||
>
|
||||
<mat-icon>create</mat-icon>
|
||||
</button>
|
||||
</div>
|
||||
</ng-template>
|
||||
</div>
|
||||
|
||||
<div
|
||||
*ngIf="
|
||||
!!userInfo &&
|
||||
!!loginRes &&
|
||||
userInfo.seq !== String(loginRes.userInfo?.seq)
|
||||
"
|
||||
class="btn-profile-add"
|
||||
>
|
||||
<button
|
||||
mat-icon-button
|
||||
class="btn-star-add"
|
||||
aria-label="Example icon-button with a heart icon"
|
||||
*ngIf="isBuddy"
|
||||
>
|
||||
<img
|
||||
src="../../../assets/images/ico/btn_favorite_w24_s.svg"
|
||||
alt=""
|
||||
/>
|
||||
</button>
|
||||
<button
|
||||
mat-icon-button
|
||||
class="btn-star-add"
|
||||
aria-label="Example icon-button with a heart icon"
|
||||
>
|
||||
<img
|
||||
src="../../../assets/images/ico/btn_group_add_w24.svg"
|
||||
alt=""
|
||||
/>
|
||||
</button>
|
||||
<button
|
||||
mat-icon-button
|
||||
class="btn-star-add"
|
||||
aria-label="Example icon-button with a heart icon"
|
||||
>
|
||||
<img
|
||||
src="../../../assets/images/ico/btn_group_add_w24.svg"
|
||||
alt=""
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
<div
|
||||
*ngIf="
|
||||
!!userInfo &&
|
||||
!!loginRes &&
|
||||
userInfo.seq !== String(loginRes.userInfo?.seq)
|
||||
"
|
||||
class="btn-partner-set"
|
||||
>
|
||||
<button mat-icon-button aria-label="chat">
|
||||
<img
|
||||
src="../../../assets/images/ico/btn_lise_chat_a24.svg"
|
||||
alt=""
|
||||
/>
|
||||
</button>
|
||||
<button mat-icon-button aria-label="message">
|
||||
<img
|
||||
src="../../../assets/images/ico/btn_list_message_a24.svg"
|
||||
alt=""
|
||||
/>
|
||||
</button>
|
||||
<button
|
||||
mat-icon-button
|
||||
aria-label="mobile"
|
||||
(click)="onSendCall('MOBILE')"
|
||||
>
|
||||
<img
|
||||
src="../../../assets/images/ico/btn_list_mobile_a24.svg"
|
||||
alt=""
|
||||
/>
|
||||
</button>
|
||||
<button
|
||||
mat-icon-button
|
||||
aria-label="call"
|
||||
(click)="onSendCall('LINE')"
|
||||
>
|
||||
<img
|
||||
src="../../../assets/images/ico/btn_list_call_a24.svg"
|
||||
alt=""
|
||||
/>
|
||||
</button>
|
||||
<button mat-icon-button aria-label="vc">
|
||||
<img src="../../../assets/images/ico/btn_list_vc-a24.svg" alt="" />
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="user-profile-info-list">
|
||||
<ul>
|
||||
<li>
|
||||
<span>{{ 'profile.labels.company' | ucapI18n }}</span>
|
||||
{{ userInfo?.companyName }}
|
||||
</li>
|
||||
<li>
|
||||
<span>{{ 'profile.labels.department' | ucapI18n }}</span>
|
||||
{{ userInfo?.deptName }}
|
||||
</li>
|
||||
<li>
|
||||
<span>{{ 'profile.labels.email' | ucapI18n }}</span>
|
||||
{{ userInfo?.email }}
|
||||
</li>
|
||||
<li>
|
||||
<span>{{ 'profile.labels.linePhoneNumber' | ucapI18n }}</span>
|
||||
{{ userInfo?.lineNumber }}
|
||||
</li>
|
||||
<li>
|
||||
<span>{{ 'profile.labels.mobilePhoneNumber' | ucapI18n }}</span>
|
||||
{{ userInfo?.hpNumber }}
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<!-- //Profile-->
|
||||
</div>
|
||||
</div>
|
153
documents/업무/5월/3째주/angular-prj-profile-01.component.html
Normal file
153
documents/업무/5월/3째주/angular-prj-profile-01.component.html
Normal file
|
@ -0,0 +1,153 @@
|
|||
<div class="ucap-organization-profile-01-container">
|
||||
<!--Profile -->
|
||||
<div class="profile-card-box">
|
||||
<div class="user-profile-info">
|
||||
<ng-container
|
||||
*ngIf="isMe; then mineProfile; else otherProfile"
|
||||
></ng-container>
|
||||
<ng-template #otherProfile>
|
||||
<!--[[ 대화상대 프로필-->
|
||||
<!-- 모바일이 온라인일 경우 + mobile-ing -->
|
||||
<div class="user-profile-thumb mobile-ing">
|
||||
<span class="presence">온라인</span>
|
||||
<div class="profileImage">
|
||||
<img
|
||||
src="https://material.angular.io/assets/img/examples/shiba2.jpg"
|
||||
style="width: 122px; height: 122px;"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<!--]]-->
|
||||
</ng-template>
|
||||
<ng-template #mineProfile>
|
||||
<!--[[ 내프로필-->
|
||||
<div class="user-profile-thumb">
|
||||
<span class="presence">온라인</span>
|
||||
<div class="profileImage">
|
||||
<img
|
||||
src="../../../assets/images/ico/img_nophoto.svg"
|
||||
style="width: 122px; height: 122px;"
|
||||
/>
|
||||
</div>
|
||||
<div class="btn-profile-ctrl">
|
||||
<button mat-mini-fab color="primary" class="mat-mini36-fab">
|
||||
<mat-icon class="material-icons-outlined">camera_alt</mat-icon>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<!--]]-->
|
||||
</ng-template>
|
||||
|
||||
<div class="userInfo">
|
||||
<div class="user-n-g">
|
||||
<div class="name">{{ userInfo?.name }}</div>
|
||||
<div class="grade">{{ userInfo?.grade }}</div>
|
||||
</div>
|
||||
<div class="deptName">({{ userInfo?.nameEn }})</div>
|
||||
<!-- + 대화상대 프로필 추가 -->
|
||||
<!--
|
||||
<div class="nickName">
|
||||
<div class="nickName-info">닉네임 미설정</div>
|
||||
<button
|
||||
mat-icon-button
|
||||
aria-label="icon create"
|
||||
class="color-white"
|
||||
>
|
||||
<mat-icon>create</mat-icon>
|
||||
</button>
|
||||
</div>
|
||||
<div class="address-txt">
|
||||
마곡 사이언스 파크 E14동 9층
|
||||
</div>
|
||||
-->
|
||||
</div>
|
||||
<div class="btn-profile-add">
|
||||
<button
|
||||
mat-icon-button
|
||||
class="btn-star-add"
|
||||
aria-label="Example icon-button with a heart icon"
|
||||
>
|
||||
<img src="../../../assets/images/ico/btn_favorite_w24_s.svg" alt="" />
|
||||
</button>
|
||||
<button
|
||||
mat-icon-button
|
||||
class="btn-star-add"
|
||||
aria-label="Example icon-button with a heart icon"
|
||||
>
|
||||
<img src="../../../assets/images/ico/btn_group_add_w24.svg" alt="" />
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- + 대회상대 프로필-->
|
||||
<!--
|
||||
<div class="btn-partner-set">
|
||||
<button mat-icon-button aria-label="chat">
|
||||
<img
|
||||
src="../../../assets/images/ico/btn_lise_chat_a24.svg"
|
||||
alt=""
|
||||
/>
|
||||
</button>
|
||||
<button mat-icon-button aria-label="message">
|
||||
<img
|
||||
src="../../../assets/images/ico/btn_list_message_a24.svg"
|
||||
alt=""
|
||||
/>
|
||||
</button>
|
||||
<button mat-icon-button aria-label="mobile">
|
||||
<img
|
||||
src="../../../assets/images/ico/btn_list_mobile_a24.svg"
|
||||
alt=""
|
||||
/>
|
||||
</button>
|
||||
<button mat-icon-button aria-label="call">
|
||||
<img
|
||||
src="../../../assets/images/ico/btn_list_call_a24.svg"
|
||||
alt=""
|
||||
/>
|
||||
</button>
|
||||
<button mat-icon-button aria-label="vc">
|
||||
<img
|
||||
src="../../../assets/images/ico/btn_list_vc-a24.svg"
|
||||
alt=""
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
-->
|
||||
<!-- + 내프로필 -->
|
||||
<div class="my-input inputtype">
|
||||
<mat-form-field class="example-full-width my-in-input" appearance="none">
|
||||
<mat-label></mat-label>
|
||||
<input matInput placeholder="" value="마곡 사이언스 파크 E14동 9층" />
|
||||
</mat-form-field>
|
||||
<button mat-icon-button aria-label="icon create" class="color-white">
|
||||
<mat-icon>create</mat-icon>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div class="user-profile-info-list">
|
||||
<ul>
|
||||
<li>
|
||||
<span>{{ 'profile.labels.company' | ucapI18n }}</span>
|
||||
{{ userInfo?.companyName }}
|
||||
</li>
|
||||
<li>
|
||||
<span>{{ 'profile.labels.department' | ucapI18n }}</span>
|
||||
{{ userInfo?.deptName }}
|
||||
</li>
|
||||
<li>
|
||||
<span>{{ 'profile.labels.email' | ucapI18n }}</span>
|
||||
{{ userInfo?.email }}
|
||||
</li>
|
||||
<li>
|
||||
<span>{{ 'profile.labels.linePhoneNumber' | ucapI18n }}</span>
|
||||
{{ userInfo?.lineNumber }}
|
||||
</li>
|
||||
<li>
|
||||
<span>{{ 'profile.labels.mobilePhoneNumber' | ucapI18n }}</span>
|
||||
{{ userInfo?.hpNumber }}
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<!-- //Profile-->
|
||||
</div>
|
BIN
documents/업무/5월/3째주/backup-prj/ucap-angular.zip
Normal file
BIN
documents/업무/5월/3째주/backup-prj/ucap-angular.zip
Normal file
Binary file not shown.
BIN
documents/업무/5월/3째주/backup-prj/ucap-lg-web.zip
Normal file
BIN
documents/업무/5월/3째주/backup-prj/ucap-lg-web.zip
Normal file
Binary file not shown.
BIN
documents/업무/5월/3째주/backup-prj/ucap.zip
Normal file
BIN
documents/업무/5월/3째주/backup-prj/ucap.zip
Normal file
Binary file not shown.
|
@ -0,0 +1,27 @@
|
|||
<div class="dialog-container">
|
||||
<!-- <app-layouts-default-dialog [disableClose]="true" (closed)="onClosed($event)">
|
||||
<div class="dialog-body" appLayoutsDefaultDialog="body">
|
||||
|
||||
</div>
|
||||
</app-layouts-default-dialog> -->
|
||||
|
||||
<ucap-inline-edit-input
|
||||
[initialMode]="true"
|
||||
(apply)="
|
||||
$event.stopPropagation(); onApplyEditGroupName(editGroupInput.value)
|
||||
"
|
||||
(edit)="$event.stopPropagation()"
|
||||
(cancel)="onClosed($event)"
|
||||
class="form-eidt"
|
||||
>
|
||||
<span ucapInlineEditInput="view">{{ data.group.name }}</span>
|
||||
<span ucapInlineEditInput="edit"
|
||||
><input
|
||||
matInput
|
||||
#editGroupInput
|
||||
type="text"
|
||||
[value]="data.group.name"
|
||||
(click)="$event.stopPropagation()"
|
||||
/></span>
|
||||
</ucap-inline-edit-input>
|
||||
</div>
|
|
@ -0,0 +1,14 @@
|
|||
.dialog-container {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
.ng-star-inserted {
|
||||
float: left;
|
||||
}
|
||||
mat-dialog-container {
|
||||
padding: 0px !important;
|
||||
background: transparent !important;
|
||||
}
|
||||
.ucap-edit-group-name-dialog {
|
||||
}
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
|
||||
import { EditNameDialogComponent } from './edit-name.dialog.component';
|
||||
|
||||
describe('ucap::ui-organization::CreateChatDialogComponent', () => {
|
||||
let component: EditNameDialogComponent;
|
||||
let fixture: ComponentFixture<EditNameDialogComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
declarations: [EditNameDialogComponent]
|
||||
}).compileComponents();
|
||||
}));
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(EditNameDialogComponent);
|
||||
component = fixture.componentInstance;
|
||||
fixture.detectChanges();
|
||||
});
|
||||
|
||||
it('should create', () => {
|
||||
expect(component).toBeTruthy();
|
||||
});
|
||||
});
|
|
@ -0,0 +1,130 @@
|
|||
import { Subject, of } from 'rxjs';
|
||||
|
||||
import {
|
||||
Component,
|
||||
OnInit,
|
||||
OnDestroy,
|
||||
ChangeDetectionStrategy,
|
||||
Inject
|
||||
} from '@angular/core';
|
||||
|
||||
import { Store } from '@ngrx/store';
|
||||
|
||||
import {
|
||||
MatDialogRef,
|
||||
MAT_DIALOG_DATA,
|
||||
MatDialog,
|
||||
MatDialogConfig
|
||||
} from '@angular/material/dialog';
|
||||
|
||||
import { UserInfo, GroupDetailData } from '@ucap/protocol-sync';
|
||||
import { UserInfoSS, UserInfoF, UserInfoDN } from '@ucap/protocol-query';
|
||||
import { UserInfo as RoomUserInfo } from '@ucap/protocol-room';
|
||||
import { I18nService } from '@ucap/ng-i18n';
|
||||
|
||||
import {
|
||||
AlertDialogComponent,
|
||||
AlertDialogData,
|
||||
AlertDialogResult
|
||||
} from '@ucap/ng-ui';
|
||||
import { take, map, catchError } from 'rxjs/operators';
|
||||
import { GroupActions } from '@ucap/ng-store-group';
|
||||
|
||||
export type UserInfoTypes =
|
||||
| UserInfo
|
||||
| UserInfoSS
|
||||
| UserInfoF
|
||||
| UserInfoDN
|
||||
| RoomUserInfo;
|
||||
|
||||
export interface EditNameDialogData {
|
||||
title: string;
|
||||
group: GroupDetailData;
|
||||
left: number;
|
||||
top: number;
|
||||
idx: number;
|
||||
}
|
||||
export interface EditNameDialogResult {}
|
||||
|
||||
@Component({
|
||||
selector: 'app-dialog-group-edit-name',
|
||||
templateUrl: './edit-name.dialog.component.html',
|
||||
styleUrls: ['./edit-name.dialog.component.scss'],
|
||||
changeDetection: ChangeDetectionStrategy.OnPush
|
||||
})
|
||||
export class EditNameDialogComponent implements OnInit, OnDestroy {
|
||||
constructor(
|
||||
public dialogRef: MatDialogRef<EditNameDialogData, EditNameDialogResult>,
|
||||
@Inject(MAT_DIALOG_DATA) public data: EditNameDialogData,
|
||||
|
||||
private store: Store<any>,
|
||||
private i18nService: I18nService,
|
||||
public dialog: MatDialog
|
||||
) {}
|
||||
|
||||
private ngOnDestroySubject: Subject<void>;
|
||||
|
||||
ngOnInit(): void {
|
||||
const matDialogConfig: MatDialogConfig = new MatDialogConfig();
|
||||
|
||||
matDialogConfig.position = {
|
||||
left: `${this.data.left}px`,
|
||||
top: `${this.data.top + 50}px`
|
||||
};
|
||||
|
||||
this.dialogRef.updatePosition(matDialogConfig.position);
|
||||
|
||||
this.ngOnDestroySubject = new Subject();
|
||||
}
|
||||
|
||||
ngOnDestroy(): void {
|
||||
if (!!this.ngOnDestroySubject) {
|
||||
this.ngOnDestroySubject.complete();
|
||||
}
|
||||
}
|
||||
|
||||
onClosed(event: MouseEvent): void {
|
||||
this.dialogRef.close();
|
||||
}
|
||||
|
||||
onApplyEditGroupName(groupName: string) {
|
||||
if (groupName.localeCompare(this.data.group.name) === 0) {
|
||||
this.dialogRef.close();
|
||||
return;
|
||||
}
|
||||
if (groupName.localeCompare('') === 0) {
|
||||
const dialogRef = this.dialog.open<
|
||||
AlertDialogComponent,
|
||||
AlertDialogData,
|
||||
AlertDialogResult
|
||||
>(AlertDialogComponent, {
|
||||
data: {
|
||||
title: this.i18nService.t('moreMenu.error.label'),
|
||||
html: this.i18nService.t('moreMenu.error.requireName')
|
||||
}
|
||||
});
|
||||
dialogRef
|
||||
.afterClosed()
|
||||
.pipe(
|
||||
take(1),
|
||||
map((result) => {}),
|
||||
catchError((err) => {
|
||||
return of(err);
|
||||
})
|
||||
)
|
||||
.subscribe();
|
||||
return;
|
||||
}
|
||||
this.store.dispatch(
|
||||
GroupActions.update({
|
||||
req: {
|
||||
groupSeq: this.data.group.seq,
|
||||
groupName,
|
||||
userSeqs: this.data.group.userSeqs
|
||||
}
|
||||
})
|
||||
);
|
||||
this.dialogRef.close();
|
||||
}
|
||||
onCompleteConfirm() {}
|
||||
}
|
42
documents/업무/5월/3째주/lgweb-group-backup/temp.txt
Normal file
42
documents/업무/5월/3째주/lgweb-group-backup/temp.txt
Normal file
|
@ -0,0 +1,42 @@
|
|||
private async inlineDialog(curValue: string, left: number, top: number): Promise<string> {
|
||||
const target = this.elementRef.nativeElement.querySelector(
|
||||
'.mat-tree-node'
|
||||
);
|
||||
const rect = target.getBoundingClientRect();
|
||||
|
||||
const clickEventY = this.groupMenuEvent.clientY;
|
||||
const tartgetY = Math.floor((clickEventY - 150) * 0.1) * 10;
|
||||
|
||||
const dialogRef = this.dialog.open(EditInlineInputDialogComponent, {
|
||||
width: rect.width,
|
||||
height: rect.height,
|
||||
panelClass: 'ucap-edit-group-name-dialog',
|
||||
data: {
|
||||
curValue,
|
||||
left,
|
||||
top
|
||||
}
|
||||
});
|
||||
|
||||
dialogRef
|
||||
.afterClosed()
|
||||
.pipe(
|
||||
take(1),
|
||||
map((result) => {
|
||||
|
||||
if (
|
||||
!!result &&
|
||||
result.choice &&
|
||||
result.curValue.localeCompare(curValue) !== 0
|
||||
) {
|
||||
|
||||
return result.curValue;
|
||||
}
|
||||
return '';
|
||||
}),
|
||||
catchError((err) => {
|
||||
return of(err);
|
||||
})
|
||||
)
|
||||
.subscribe();
|
||||
}
|
BIN
weekly-report/5월/주간보고_박병은_2020.0522.pptx
Normal file
BIN
weekly-report/5월/주간보고_박병은_2020.0522.pptx
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user