-
-
-
-
-
-
+
온라인
@@ -108,7 +79,7 @@
/>
-
+
@@ -116,9 +87,7 @@
{{ userInfo?.grade }}
({{ userInfo?.nameEn }})
-
-
-
+
닉네임 미설정
+ 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 })))
+ )
+ )
+ )
+ );
\ No newline at end of file
diff --git a/documents/업무/5월/3째주/0519.txt b/documents/업무/5월/3째주/0519.txt
new file mode 100644
index 0000000..1e79730
--- /dev/null
+++ b/documents/업무/5월/3째주/0519.txt
@@ -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]
diff --git a/documents/업무/5월/3째주/0520.txt b/documents/업무/5월/3째주/0520.txt
new file mode 100644
index 0000000..c39d240
--- /dev/null
+++ b/documents/업무/5월/3째주/0520.txt
@@ -0,0 +1,113 @@
+677713
+737237
+
+
+*ngIf="
+ !editablGroup ||
+ (!!editablGroup && editablGroup.seq !== node.groupDetail.seq)
+"
+
+
+
+
+
+
+
+
+
+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
+
diff --git a/documents/업무/5월/3째주/0522.txt b/documents/업무/5월/3째주/0522.txt
new file mode 100644
index 0000000..215bdc7
--- /dev/null
+++ b/documents/업무/5월/3째주/0522.txt
@@ -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));
diff --git a/documents/업무/5월/3째주/Untitled-1.html b/documents/업무/5월/3째주/Untitled-1.html
new file mode 100644
index 0000000..05d47a4
--- /dev/null
+++ b/documents/업무/5월/3째주/Untitled-1.html
@@ -0,0 +1,470 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
{{ userInfo?.name }}
+
{{ userInfo?.grade }}
+
+
({{ userInfo?.nameEn }})
+
+
+
+
+
+
+
+
+
+ create
+
+
+
+ {{ userInfo?.intro }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ camera_alt
+
+
+
+
+
+
+
+
+
{{ userInfo?.name }}
+
{{ userInfo?.grade }}
+
+
({{ userInfo?.nameEn }})
+
+
+
+
+
+
+
+
+
+
+
+ create
+
+
+
+
+
+
+
+
+ {{ userInfo?.intro }}
+
+
+
+
+
+
+
+
+
+ create
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ 'profile.labels.company' | ucapI18n }}
+ {{ userInfo?.companyName }}
+
+
+ {{ 'profile.labels.department' | ucapI18n }}
+ {{ userInfo?.deptName }}
+
+
+ {{ 'profile.labels.email' | ucapI18n }}
+ {{ userInfo?.email }}
+
+
+ {{ 'profile.labels.linePhoneNumber' | ucapI18n }}
+ {{ userInfo?.lineNumber }}
+
+
+ {{ 'profile.labels.mobilePhoneNumber' | ucapI18n }}
+ {{ userInfo?.hpNumber }}
+
+
+
+
+
+
+
+svg" alt="" />
+
+
+
+
+
+
+
온라인
+
+
+
+
+
+ camera_alt
+
+
+
+
+
+
+
+
{{ userInfo?.name }}
+
{{ userInfo?.grade }}
+
+
({{ userInfo?.nameEn }})
+
+
+
+
+
+
+
+
+ create
+
+
+
+
+
+
+
+ {{ 'profile.labels.company' | ucapI18n }}
+ {{ userInfo?.companyName }}
+
+
+ {{ 'profile.labels.department' | ucapI18n }}
+ {{ userInfo?.deptName }}
+
+
+ {{ 'profile.labels.email' | ucapI18n }}
+ {{ userInfo?.email }}
+
+
+ {{ 'profile.labels.linePhoneNumber' | ucapI18n }}
+ {{ userInfo?.lineNumber }}
+
+
+ {{ 'profile.labels.mobilePhoneNumber' | ucapI18n }}
+ {{ userInfo?.hpNumber }}
+
+
+
+
+
+
+
diff --git a/documents/업무/5월/3째주/Untitled-2.html b/documents/업무/5월/3째주/Untitled-2.html
new file mode 100644
index 0000000..5415c25
--- /dev/null
+++ b/documents/업무/5월/3째주/Untitled-2.html
@@ -0,0 +1,218 @@
+
+
+
+
+
+
+
+
+
+
+
+ camera_alt
+
+
+
+
+
+
+
{{ userInfo?.name }}
+
{{ userInfo?.grade }}
+
+
({{ userInfo?.nameEn }})
+
+
+
+
+
+
+
+
+
+
+ create
+
+
+
+
+
+
+
+ {{ userInfo?.intro }}
+
+
+
+
+
+
+
+
+
+ create
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ 'profile.labels.company' | ucapI18n }}
+ {{ userInfo?.companyName }}
+
+
+ {{ 'profile.labels.department' | ucapI18n }}
+ {{ userInfo?.deptName }}
+
+
+ {{ 'profile.labels.email' | ucapI18n }}
+ {{ userInfo?.email }}
+
+
+ {{ 'profile.labels.linePhoneNumber' | ucapI18n }}
+ {{ userInfo?.lineNumber }}
+
+
+ {{ 'profile.labels.mobilePhoneNumber' | ucapI18n }}
+ {{ userInfo?.hpNumber }}
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/documents/업무/5월/3째주/Untitled-3.html b/documents/업무/5월/3째주/Untitled-3.html
new file mode 100644
index 0000000..0433f56
--- /dev/null
+++ b/documents/업무/5월/3째주/Untitled-3.html
@@ -0,0 +1,242 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ camera_alt
+
+
+
+
+
+
+
+
+
{{ userInfo?.name }}
+
{{ userInfo?.grade }}
+
+
({{ userInfo?.nameEn }})
+
+
+
+
+
+
+
+
+
+
+
+ create
+
+
+
+
+
+
+
+
+ {{ userInfo?.intro }}
+
+
+
+
+
+
+
+
+
+ create
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ 'profile.labels.company' | ucapI18n }}
+ {{ userInfo?.companyName }}
+
+
+ {{ 'profile.labels.department' | ucapI18n }}
+ {{ userInfo?.deptName }}
+
+
+ {{ 'profile.labels.email' | ucapI18n }}
+ {{ userInfo?.email }}
+
+
+ {{ 'profile.labels.linePhoneNumber' | ucapI18n }}
+ {{ userInfo?.lineNumber }}
+
+
+ {{ 'profile.labels.mobilePhoneNumber' | ucapI18n }}
+ {{ userInfo?.hpNumber }}
+
+
+
+
+
+
+
diff --git a/documents/업무/5월/3째주/angular-prj-profile-01.component.html b/documents/업무/5월/3째주/angular-prj-profile-01.component.html
new file mode 100644
index 0000000..8741b56
--- /dev/null
+++ b/documents/업무/5월/3째주/angular-prj-profile-01.component.html
@@ -0,0 +1,153 @@
+
+
+
+
+
+
+
+
+
+
온라인
+
+
+
+
+
+
+
+
+
+
온라인
+
+
+
+
+
+ camera_alt
+
+
+
+
+
+
+
+
+
{{ userInfo?.name }}
+
{{ userInfo?.grade }}
+
+
({{ userInfo?.nameEn }})
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ create
+
+
+
+
+
+
+ {{ 'profile.labels.company' | ucapI18n }}
+ {{ userInfo?.companyName }}
+
+
+ {{ 'profile.labels.department' | ucapI18n }}
+ {{ userInfo?.deptName }}
+
+
+ {{ 'profile.labels.email' | ucapI18n }}
+ {{ userInfo?.email }}
+
+
+ {{ 'profile.labels.linePhoneNumber' | ucapI18n }}
+ {{ userInfo?.lineNumber }}
+
+
+ {{ 'profile.labels.mobilePhoneNumber' | ucapI18n }}
+ {{ userInfo?.hpNumber }}
+
+
+
+
+
+
diff --git a/documents/업무/5월/3째주/backup-prj/ucap-angular.zip b/documents/업무/5월/3째주/backup-prj/ucap-angular.zip
new file mode 100644
index 0000000..ccfdfb9
Binary files /dev/null and b/documents/업무/5월/3째주/backup-prj/ucap-angular.zip differ
diff --git a/documents/업무/5월/3째주/backup-prj/ucap-lg-web.zip b/documents/업무/5월/3째주/backup-prj/ucap-lg-web.zip
new file mode 100644
index 0000000..1286c70
Binary files /dev/null and b/documents/업무/5월/3째주/backup-prj/ucap-lg-web.zip differ
diff --git a/documents/업무/5월/3째주/backup-prj/ucap.zip b/documents/업무/5월/3째주/backup-prj/ucap.zip
new file mode 100644
index 0000000..4cf72a1
Binary files /dev/null and b/documents/업무/5월/3째주/backup-prj/ucap.zip differ
diff --git a/documents/업무/5월/3째주/lgweb-group-backup/edit-name.dialog.component.html b/documents/업무/5월/3째주/lgweb-group-backup/edit-name.dialog.component.html
new file mode 100644
index 0000000..3efd5fe
--- /dev/null
+++ b/documents/업무/5월/3째주/lgweb-group-backup/edit-name.dialog.component.html
@@ -0,0 +1,27 @@
+
+
+
+
+ {{ data.group.name }}
+
+
+
diff --git a/documents/업무/5월/3째주/lgweb-group-backup/edit-name.dialog.component.scss b/documents/업무/5월/3째주/lgweb-group-backup/edit-name.dialog.component.scss
new file mode 100644
index 0000000..42e0cbf
--- /dev/null
+++ b/documents/업무/5월/3째주/lgweb-group-backup/edit-name.dialog.component.scss
@@ -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 {
+ }
+}
diff --git a/documents/업무/5월/3째주/lgweb-group-backup/edit-name.dialog.component.spec.ts b/documents/업무/5월/3째주/lgweb-group-backup/edit-name.dialog.component.spec.ts
new file mode 100644
index 0000000..38c14fa
--- /dev/null
+++ b/documents/업무/5월/3째주/lgweb-group-backup/edit-name.dialog.component.spec.ts
@@ -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
;
+
+ beforeEach(async(() => {
+ TestBed.configureTestingModule({
+ declarations: [EditNameDialogComponent]
+ }).compileComponents();
+ }));
+
+ beforeEach(() => {
+ fixture = TestBed.createComponent(EditNameDialogComponent);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ });
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+});
diff --git a/documents/업무/5월/3째주/lgweb-group-backup/edit-name.dialog.component.ts b/documents/업무/5월/3째주/lgweb-group-backup/edit-name.dialog.component.ts
new file mode 100644
index 0000000..04dcfc7
--- /dev/null
+++ b/documents/업무/5월/3째주/lgweb-group-backup/edit-name.dialog.component.ts
@@ -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,
+ @Inject(MAT_DIALOG_DATA) public data: EditNameDialogData,
+
+ private store: Store,
+ private i18nService: I18nService,
+ public dialog: MatDialog
+ ) {}
+
+ private ngOnDestroySubject: Subject;
+
+ 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() {}
+}
diff --git a/documents/업무/5월/3째주/lgweb-group-backup/temp.txt b/documents/업무/5월/3째주/lgweb-group-backup/temp.txt
new file mode 100644
index 0000000..33db36e
--- /dev/null
+++ b/documents/업무/5월/3째주/lgweb-group-backup/temp.txt
@@ -0,0 +1,42 @@
+private async inlineDialog(curValue: string, left: number, top: number): Promise {
+ 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();
+ }
\ No newline at end of file
diff --git a/weekly-report/5월/주간보고_박병은_2020.0522.pptx b/weekly-report/5월/주간보고_박병은_2020.0522.pptx
new file mode 100644
index 0000000..f392e98
Binary files /dev/null and b/weekly-report/5월/주간보고_박병은_2020.0522.pptx differ