diff --git a/documents/업무/5월/2째주/profile.component.html b/documents/업무/5월/2째주/profile.component.html index 1b9f5b7..e60312f 100644 --- a/documents/업무/5월/2째주/profile.component.html +++ b/documents/업무/5월/2째주/profile.component.html @@ -5,21 +5,7 @@
- - - - - - + -
@@ -81,24 +66,10 @@
- + + + + +
+ + + + + +
+
+ + +
+ +
+ 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 @@ +
+ +
+ + +
+ +
+ \ 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 @@ +
+
+ +
+ + +
+ +
+
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 @@ +
+ +
+ + + + +
+ + + + + +
+ + +
+ +
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