leejinho 4f8695e5a3 # 이슈처리
49 대화방이름 빈칸으로 설정 시 숫자로 보여짐 :: 아예 빈값이면 저렇게 되고, ' '빈칸 하나를 넣으면 초기화 되는데 이를 필수입력하도록 수정하여 처리.

83 빈칸 입력 후 그룹 추가 시 추가되지 않음 :: 필수입력으로 처리 및 빈문자열 유효성 검사
2020-01-07 16:17:27 +09:00

72 lines
2.1 KiB
TypeScript

import { RoomInfo } from '@ucap-webmessenger/protocol-room';
import { Component, OnInit, Inject } from '@angular/core';
import { FormGroup, FormBuilder, Validators } from '@angular/forms';
import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';
export interface EditChatRoomDialogData {
title: string;
roomInfo: RoomInfo;
}
export interface EditChatRoomDialogResult {
choice: boolean;
roomName?: string;
roomNameChangeTarget?: string;
timeRoomInterval?: number;
roomInfo: RoomInfo;
}
@Component({
selector: 'app-layout-messenger-edit-chat-room',
templateUrl: './edit-chat-room.dialog.component.html',
styleUrls: ['./edit-chat-room.dialog.component.scss']
})
export class EditChatRoomDialogComponent implements OnInit {
roomName: string;
inputForm: FormGroup;
timerArray: { value: number; text: string }[] = [
{ value: 5, text: '5 초' },
{ value: 10, text: '10 초' },
{ value: 30, text: '30 초' },
{ value: 60, text: '1 분' },
{ value: 300, text: '5 분' },
{ value: 600, text: '10 분' },
{ value: 1800, text: '30 분' },
{ value: 3600, text: '1 시간' },
{ value: 21600, text: '6 시간' },
{ value: 43200, text: '12 시간' },
{ value: 86400, text: '24 시간' }
];
constructor(
public dialogRef: MatDialogRef<
EditChatRoomDialogData,
EditChatRoomDialogResult
>,
@Inject(MAT_DIALOG_DATA) public data: EditChatRoomDialogData,
private formBuilder: FormBuilder
) {}
ngOnInit(): void {
this.inputForm = this.formBuilder.group({
roomName: [
this.data.roomInfo.roomName,
!this.data.roomInfo.isTimeRoom ? [Validators.required] : []
],
changeTarget: ['me'],
timerInterval: [this.data.roomInfo.timeRoomInterval]
});
}
onClickChoice(choice: boolean): void {
this.dialogRef.close({
choice,
roomName: this.inputForm.get('roomName').value,
roomNameChangeTarget: this.inputForm.get('changeTarget').value,
timeRoomInterval: this.inputForm.get('timerInterval').value,
roomInfo: this.data.roomInfo
});
}
}