diff --git a/projects/ucap-webmessenger-app/src/app/layouts/common/dialogs/file-viewer.dialog.component.ts b/projects/ucap-webmessenger-app/src/app/layouts/common/dialogs/file-viewer.dialog.component.ts
index 601e1c8d..e602a493 100644
--- a/projects/ucap-webmessenger-app/src/app/layouts/common/dialogs/file-viewer.dialog.component.ts
+++ b/projects/ucap-webmessenger-app/src/app/layouts/common/dialogs/file-viewer.dialog.component.ts
@@ -99,7 +99,7 @@ export class FileViewerDialogComponent implements OnInit, OnDestroy {
.then(result => {
if (!!result) {
this.translateService
- .get('common.file.savedToPath', {
+ .get('common.file.results.savedToPath', {
path: result
})
.pipe(take(1))
@@ -111,7 +111,7 @@ export class FileViewerDialogComponent implements OnInit, OnDestroy {
});
} else {
this.translateService
- .get('common.file.failToSave')
+ .get('common.file.errors.failToSave')
.pipe(take(1))
.subscribe(v => {
this.snackBarService.open(v);
@@ -120,7 +120,7 @@ export class FileViewerDialogComponent implements OnInit, OnDestroy {
})
.catch(reason => {
this.translateService
- .get('common.file.failToSave')
+ .get('common.file.errors.failToSave')
.pipe(take(1))
.subscribe(v => {
this.snackBarService.open(v);
diff --git a/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/left-sidenav/chat.component.html b/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/left-sidenav/chat.component.html
index d6bb7160..866961c2 100644
--- a/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/left-sidenav/chat.component.html
+++ b/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/left-sidenav/chat.component.html
@@ -140,7 +140,7 @@
}}
diff --git a/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/left-sidenav/chat.component.ts b/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/left-sidenav/chat.component.ts
index 6a05c4d1..4df5e291 100644
--- a/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/left-sidenav/chat.component.ts
+++ b/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/left-sidenav/chat.component.ts
@@ -258,7 +258,7 @@ export class ChatComponent implements OnInit, OnDestroy, AfterViewChecked {
case 'EXIT_ROOM':
{
this.translateService
- .get(['chat.leaveFromRoom', 'chat.confirmLeaveFromRoom'])
+ .get(['chat.exitFromRoom', 'chat.confirmExitFromRoom'])
.pipe(take(1))
.subscribe(async values => {
const result = await this.dialogService.open<
@@ -267,8 +267,8 @@ export class ChatComponent implements OnInit, OnDestroy, AfterViewChecked {
ConfirmDialogResult
>(ConfirmDialogComponent, {
data: {
- title: values['chat.leaveFromRoom'],
- html: values['chat.confirmLeaveFromRoom']
+ title: values['chat.exitFromRoom'],
+ html: values['chat.confirmExitFromRoom']
}
});
diff --git a/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/messages.component.html b/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/messages.component.html
index e34ec399..e067daba 100644
--- a/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/messages.component.html
+++ b/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/messages.component.html
@@ -131,56 +131,56 @@
*ngIf="getShowContextMenu('OPEN_ALBUM_LIST')"
(click)="onClickContextMenu('OPEN_ALBUM_LIST')"
>
- 앨범함
+ {{ 'chat.albumBox.label' | translate }}
@@ -330,34 +330,34 @@
*ngIf="isCopyableMessage(message.type)"
(click)="onClickMessageContextMenu('COPY', message)"
>
- 대화 복사
+ {{ 'chat.copyChatText' | translate }}
diff --git a/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/messages.component.ts b/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/messages.component.ts
index 6bdf2bc4..216835ff 100644
--- a/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/messages.component.ts
+++ b/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/messages.component.ts
@@ -109,6 +109,7 @@ import {
MassDetailDialogData
} from '../dialogs/chat/mass-detail.component';
import { NativeService, UCAP_NATIVE_SERVICE } from '@ucap-webmessenger/native';
+import { TranslateService } from '@ngx-translate/core';
@Component({
selector: 'app-layout-messenger-messages',
@@ -204,6 +205,7 @@ export class MessagesComponent implements OnInit, OnDestroy, AfterViewInit {
private localStorageService: LocalStorageService,
private commonApiService: CommonApiService,
private clipboardService: ClipboardService,
+ private translateService: TranslateService,
private dialogService: DialogService,
private snackBarService: SnackBarService,
@Inject(UCAP_NATIVE_SERVICE) private nativeService: NativeService,
@@ -613,22 +615,28 @@ export class MessagesComponent implements OnInit, OnDestroy, AfterViewInit {
}
/** Send Event */
- async onSendMessage(message: string) {
+ onSendMessage(message: string) {
this.setEventMoreInit();
if (!this.selectedSticker) {
if (!message || message.trim().length === 0) {
- const result = await this.dialogService.open<
- AlertDialogComponent,
- AlertDialogData,
- AlertDialogResult
- >(AlertDialogComponent, {
- width: '360px',
- data: {
- title: 'Alert',
- message: `대화내용을 입력해주세요.`
- }
- });
+ this.translateService
+ .get(['chat.errors.label', 'chat.errors.inputChatMessage'])
+ .pipe(take(1))
+ .subscribe(async vs => {
+ const result = await this.dialogService.open<
+ AlertDialogComponent,
+ AlertDialogData,
+ AlertDialogResult
+ >(AlertDialogComponent, {
+ width: '360px',
+ data: {
+ title: vs['chat.errors.label'],
+ message: vs['chat.errors.inputChatMessage']
+ }
+ });
+ });
+
return;
}
}
@@ -730,17 +738,24 @@ export class MessagesComponent implements OnInit, OnDestroy, AfterViewInit {
message.trim().length >
environment.productConfig.CommonSetting.masstextLength
) {
- const result = await this.dialogService.open<
- AlertDialogComponent,
- AlertDialogData,
- AlertDialogResult
- >(AlertDialogComponent, {
- width: '360px',
- data: {
- title: 'Alert',
- message: `스티커를 포함할 경우 ${environment.productConfig.CommonSetting.masstextLength}자 이상 보낼 수 없습니다.`
- }
- });
+ this.translateService
+ .get(['chat.errors.label', 'chat.errors.maxLengthOfMassText'], {
+ maxLength: environment.productConfig.CommonSetting.masstextLength
+ })
+ .pipe(take(1))
+ .subscribe(async vs => {
+ const result = await this.dialogService.open<
+ AlertDialogComponent,
+ AlertDialogData,
+ AlertDialogResult
+ >(AlertDialogComponent, {
+ width: '360px',
+ data: {
+ title: vs['chat.errors.label'],
+ message: vs['chat.errors.maxLengthOfMassText']
+ }
+ });
+ });
return;
}
@@ -856,20 +871,31 @@ export class MessagesComponent implements OnInit, OnDestroy, AfterViewInit {
}) {
this.logger.debug('fileSave', value);
if (value.type === 'saveAs') {
- this.nativeService
- .selectSaveFilePath(value.fileInfo.fileName)
- .then(result => {
- if (!!result && result.length > 0) {
- this.saveFile(value, result);
- } else {
- this.snackBarService.open(
- '저장경로 지정에 실패하였습니다.',
- '확인'
- );
- }
- })
- .catch(reason => {
- this.snackBarService.open('저장경로 지정에 실패하였습니다.', '확인');
+ this.translateService
+ .get([
+ 'common.file.errors.label',
+ 'common.file.errors.failToSpecifyPath'
+ ])
+ .pipe(take(1))
+ .subscribe(vs => {
+ this.nativeService
+ .selectSaveFilePath(value.fileInfo.fileName)
+ .then(result => {
+ if (!!result && result.length > 0) {
+ this.saveFile(value, result);
+ } else {
+ this.snackBarService.open(
+ vs['common.file.errors.failToSpecifyPath'],
+ vs['common.file.errors.label']
+ );
+ }
+ })
+ .catch(reason => {
+ this.snackBarService.open(
+ vs['common.file.errors.failToSpecifyPath'],
+ vs['common.file.errors.label']
+ );
+ });
});
} else {
this.saveFile(value);
@@ -919,26 +945,33 @@ export class MessagesComponent implements OnInit, OnDestroy, AfterViewInit {
.saveFile(buffer, value.fileInfo.fileName, mimeType, savePath)
.then(result => {
if (!!result) {
- this.snackBarService.open(
- `파일이 경로[${result}]에 저장되었습니다.`,
- '',
- {
- duration: 3000,
- verticalPosition: 'bottom'
- }
- );
+ this.translateService
+ .get('common.file.results.savedToPath', {
+ path: result
+ })
+ .pipe(take(1))
+ .subscribe(v => {
+ this.snackBarService.open(v, '', {
+ duration: 3000,
+ verticalPosition: 'bottom'
+ });
+ });
} else {
- this.snackBarService.open(
- '파일 저장에 실패하였습니다.',
- '확인'
- );
+ this.translateService
+ .get('common.file.errors.failToSave')
+ .pipe(take(1))
+ .subscribe(v => {
+ this.snackBarService.open(v);
+ });
}
})
.catch(reason => {
- this.snackBarService.open(
- '파일 저장에 실패하였습니다.',
- '확인'
- );
+ this.translateService
+ .get('common.file.errors.failToSave')
+ .pipe(take(1))
+ .subscribe(v => {
+ this.snackBarService.open(v);
+ });
});
})
.catch(reason => {
@@ -1036,18 +1069,19 @@ export class MessagesComponent implements OnInit, OnDestroy, AfterViewInit {
},
error => {
this.logger.debug('onFileSelected error', error);
- this.fileUploadQueue.onUploadComplete();
- this.dialogService.open<
- AlertDialogComponent,
- AlertDialogData,
- AlertDialogResult
- >(AlertDialogComponent, {
- data: {
- title: 'Alert',
- html: `파일전송에 실패하였습니다.
계속 문제 발생 시 관리자에게 문의하세요.`
- }
- });
+ this.translateService
+ .get([
+ 'common.file.errors.label',
+ 'common.file.errors.failToUpload'
+ ])
+ .pipe(take(1))
+ .subscribe(vs => {
+ this.snackBarService.open(
+ vs['common.file.errors.failToUpload'],
+ vs['common.file.errors.label']
+ );
+ });
},
() => {
this.fileUploadQueue.onUploadComplete();
@@ -1072,7 +1106,7 @@ export class MessagesComponent implements OnInit, OnDestroy, AfterViewInit {
this.messageContextMenuTrigger.openMenu();
}
- async onClickMessageContextMenu(menuType: string, message: Info) {
+ onClickMessageContextMenu(menuType: string, message: Info) {
switch (menuType) {
case 'COPY':
{
@@ -1084,11 +1118,20 @@ export class MessagesComponent implements OnInit, OnDestroy, AfterViewInit {
(message as Info).sentMessage
)
) {
- this.snackBarService.open('클립보드에 복사되었습니다.', '', {
- duration: 3000,
- verticalPosition: 'top',
- horizontalPosition: 'center'
- });
+ this.translateService
+ .get(['common.clipboard.results.copied'])
+ .pipe(take(1))
+ .subscribe(async vs => {
+ this.snackBarService.open(
+ vs['common.clipboard.results.copied'],
+ '',
+ {
+ duration: 3000,
+ verticalPosition: 'top',
+ horizontalPosition: 'center'
+ }
+ );
+ });
}
}
break;
@@ -1104,15 +1147,20 @@ export class MessagesComponent implements OnInit, OnDestroy, AfterViewInit {
.pipe(take(1))
.subscribe(res => {
if (this.clipboardService.copyFromContent(res.content)) {
- this.snackBarService.open(
- '클립보드에 복사되었습니다.',
- '',
- {
- duration: 3000,
- verticalPosition: 'top',
- horizontalPosition: 'center'
- }
- );
+ this.translateService
+ .get(['common.clipboard.results.copied'])
+ .pipe(take(1))
+ .subscribe(async vs => {
+ this.snackBarService.open(
+ vs['common.clipboard.results.copied'],
+ '',
+ {
+ duration: 3000,
+ verticalPosition: 'top',
+ horizontalPosition: 'center'
+ }
+ );
+ });
}
});
}
@@ -1125,48 +1173,53 @@ export class MessagesComponent implements OnInit, OnDestroy, AfterViewInit {
break;
case 'REPLAY':
{
- const result = await this.dialogService.open<
- CreateChatDialogComponent,
- CreateChatDialogData,
- CreateChatDialogResult
- >(CreateChatDialogComponent, {
- width: '600px',
- data: {
- type: UserSelectDialogType.MessageForward,
- title: 'MessageForward',
- ignoreRoom: [this.roomInfo]
- }
- });
+ this.translateService
+ .get(['chat.forwardEventTo'])
+ .pipe(take(1))
+ .subscribe(async vs => {
+ const result = await this.dialogService.open<
+ CreateChatDialogComponent,
+ CreateChatDialogData,
+ CreateChatDialogResult
+ >(CreateChatDialogComponent, {
+ width: '600px',
+ data: {
+ type: UserSelectDialogType.MessageForward,
+ title: vs['chat.forwardEventTo'],
+ ignoreRoom: [this.roomInfo]
+ }
+ });
- if (!!result && !!result.choice && result.choice) {
- const userSeqs: number[] = [];
- let roomSeq = '';
- if (
- !!result.selectedUserList &&
- result.selectedUserList.length > 0
- ) {
- result.selectedUserList.map(user => userSeqs.push(user.seq));
- }
+ if (!!result && !!result.choice && result.choice) {
+ const userSeqs: number[] = [];
+ let roomSeq = '';
+ if (
+ !!result.selectedUserList &&
+ result.selectedUserList.length > 0
+ ) {
+ result.selectedUserList.map(user => userSeqs.push(user.seq));
+ }
- if (!!result.selectedRoom) {
- roomSeq = result.selectedRoom.roomSeq;
- }
+ if (!!result.selectedRoom) {
+ roomSeq = result.selectedRoom.roomSeq;
+ }
- if (userSeqs.length > 0 || roomSeq.trim().length > 0) {
- this.store.dispatch(
- EventStore.forward({
- senderSeq: this.loginRes.userSeq,
- req: {
- roomSeq: '-999',
- eventType: message.type,
- sentMessage: message.sentMessage
- },
- trgtUserSeqs: userSeqs,
- trgtRoomSeq: roomSeq
- })
- );
- }
- }
+ if (userSeqs.length > 0 || roomSeq.trim().length > 0) {
+ this.store.dispatch(
+ EventStore.forward({
+ senderSeq: this.loginRes.userSeq,
+ req: {
+ roomSeq: '-999',
+ eventType: message.type,
+ sentMessage: message.sentMessage
+ },
+ trgtUserSeqs: userSeqs,
+ trgtRoomSeq: roomSeq
+ })
+ );
+ }
+ }
+ });
}
break;
case 'REPLAY_TO_ME':
@@ -1188,51 +1241,61 @@ export class MessagesComponent implements OnInit, OnDestroy, AfterViewInit {
break;
case 'DELETE':
{
- const result = await this.dialogService.open<
- ConfirmDialogComponent,
- ConfirmDialogData,
- ConfirmDialogResult
- >(ConfirmDialogComponent, {
- width: '400px',
- data: {
- title: 'Delete',
- html: `선택한 메시지를 삭제하시겠습니까?
삭제된 메시지는 내 대화방에서만 적용되며 상대방의 대화방에서는 삭제되지 않습니다.`
- }
- });
+ this.translateService
+ .get(['chat.removeEvent', 'chat.confirmRemoveEvent'])
+ .pipe(take(1))
+ .subscribe(async vs => {
+ const result = await this.dialogService.open<
+ ConfirmDialogComponent,
+ ConfirmDialogData,
+ ConfirmDialogResult
+ >(ConfirmDialogComponent, {
+ width: '400px',
+ data: {
+ title: vs['chat.removeEvent'],
+ html: vs['chat.confirmRemoveEvent']
+ }
+ });
- if (!!result && !!result.choice && result.choice) {
- this.store.dispatch(
- EventStore.del({
- roomSeq: this.roomInfo.roomSeq,
- eventSeq: message.seq
- })
- );
- }
+ if (!!result && !!result.choice && result.choice) {
+ this.store.dispatch(
+ EventStore.del({
+ roomSeq: this.roomInfo.roomSeq,
+ eventSeq: message.seq
+ })
+ );
+ }
+ });
}
break;
case 'RECALL':
{
- const result = await this.dialogService.open<
- ConfirmDialogComponent,
- ConfirmDialogData,
- ConfirmDialogResult
- >(ConfirmDialogComponent, {
- width: '400px',
- data: {
- title: 'ReCall',
- html: `해당 대화를 회수하시겠습니까?
상대방 대화창에서도 회수됩니다.`
- }
- });
+ this.translateService
+ .get(['chat.recallEvent', 'chat.confirmRecallEvent'])
+ .pipe(take(1))
+ .subscribe(async vs => {
+ const result = await this.dialogService.open<
+ ConfirmDialogComponent,
+ ConfirmDialogData,
+ ConfirmDialogResult
+ >(ConfirmDialogComponent, {
+ width: '400px',
+ data: {
+ title: vs['chat.recallEvent'],
+ html: vs['chat.confirmRecallEvent']
+ }
+ });
- if (!!result && !!result.choice && result.choice) {
- this.store.dispatch(
- EventStore.cancel({
- roomSeq: this.roomInfo.roomSeq,
- eventSeq: message.seq,
- deviceType: this.environmentsInfo.deviceType
- })
- );
- }
+ if (!!result && !!result.choice && result.choice) {
+ this.store.dispatch(
+ EventStore.cancel({
+ roomSeq: this.roomInfo.roomSeq,
+ eventSeq: message.seq,
+ deviceType: this.environmentsInfo.deviceType
+ })
+ );
+ }
+ });
}
break;
default:
@@ -1240,7 +1303,7 @@ export class MessagesComponent implements OnInit, OnDestroy, AfterViewInit {
}
}
- async onClickContextMenu(menuType: string) {
+ onClickContextMenu(menuType: string) {
switch (menuType) {
case 'OPEN_ALBUM_LIST':
{
@@ -1276,134 +1339,153 @@ export class MessagesComponent implements OnInit, OnDestroy, AfterViewInit {
break;
case 'ADD_MEMBER':
{
- const result = await this.dialogService.open<
- CreateChatDialogComponent,
- CreateChatDialogData,
- CreateChatDialogResult
- >(CreateChatDialogComponent, {
- width: '600px',
- data: {
- type: UserSelectDialogType.EditChatMember,
- title: 'Edit Chat Member',
- curRoomUser: this.userInfoList.filter(
- user => user.seq !== this.loginRes.userSeq && user.isJoinRoom
- )
- }
- });
-
- if (!!result && !!result.choice && result.choice) {
- const userSeqs: number[] = this.userInfoList.map(userInfo => {
- if (userInfo.isJoinRoom) {
- return userInfo.seq;
- }
- });
- if (
- !!result.selectedUserList &&
- result.selectedUserList.length > 0
- ) {
- result.selectedUserList.forEach(user => {
- if (userSeqs.indexOf(user.seq) < 0) {
- userSeqs.push(user.seq);
+ this.translateService
+ .get(['chat.modifyRoomMember'])
+ .pipe(take(1))
+ .subscribe(async vs => {
+ const result = await this.dialogService.open<
+ CreateChatDialogComponent,
+ CreateChatDialogData,
+ CreateChatDialogResult
+ >(CreateChatDialogComponent, {
+ width: '600px',
+ data: {
+ type: UserSelectDialogType.EditChatMember,
+ title: vs['chat.modifyRoomMember'],
+ curRoomUser: this.userInfoList.filter(
+ user =>
+ user.seq !== this.loginRes.userSeq && user.isJoinRoom
+ )
}
});
- }
- if (userSeqs.length > 0) {
- // include me
- userSeqs.push(this.loginRes.userSeq);
-
- this.store.dispatch(
- RoomStore.inviteOrOpen({
- req: {
- divCd: 'Invite',
- userSeqs
+ if (!!result && !!result.choice && result.choice) {
+ const userSeqs: number[] = this.userInfoList.map(userInfo => {
+ if (userInfo.isJoinRoom) {
+ return userInfo.seq;
}
- })
- );
- }
- }
+ });
+ if (
+ !!result.selectedUserList &&
+ result.selectedUserList.length > 0
+ ) {
+ result.selectedUserList.forEach(user => {
+ if (userSeqs.indexOf(user.seq) < 0) {
+ userSeqs.push(user.seq);
+ }
+ });
+ }
+
+ if (userSeqs.length > 0) {
+ // include me
+ userSeqs.push(this.loginRes.userSeq);
+
+ this.store.dispatch(
+ RoomStore.inviteOrOpen({
+ req: {
+ divCd: 'Invite',
+ userSeqs
+ }
+ })
+ );
+ }
+ }
+ });
}
break;
case 'ADD_GROUP':
{
- const result = await this.dialogService.open<
- SelectGroupDialogComponent,
- SelectGroupDialogData,
- SelectGroupDialogResult
- >(SelectGroupDialogComponent, {
- width: '600px',
- data: {
- title: 'Group Select'
- }
- });
+ this.translateService
+ .get(['chat.addMemberToGroup'])
+ .pipe(take(1))
+ .subscribe(async vs => {
+ const result = await this.dialogService.open<
+ SelectGroupDialogComponent,
+ SelectGroupDialogData,
+ SelectGroupDialogResult
+ >(SelectGroupDialogComponent, {
+ width: '600px',
+ data: {
+ title: vs['chat.addMemberToGroup']
+ }
+ });
- if (!!result && !!result.choice && result.choice) {
- if (!!result.group) {
- const oldGroup: GroupDetailData = result.group;
- const trgtUserSeq: number[] = [];
- result.group.userSeqs.map(seq => trgtUserSeq.push(seq));
- this.userInfoList
- .filter(v => result.group.userSeqs.indexOf(v.seq) < 0)
- .forEach(user => {
- trgtUserSeq.push(user.seq);
- });
+ if (!!result && !!result.choice && result.choice) {
+ if (!!result.group) {
+ const oldGroup: GroupDetailData = result.group;
+ const trgtUserSeq: number[] = [];
+ result.group.userSeqs.map(seq => trgtUserSeq.push(seq));
+ this.userInfoList
+ .filter(v => result.group.userSeqs.indexOf(v.seq) < 0)
+ .forEach(user => {
+ trgtUserSeq.push(user.seq);
+ });
- this.store.dispatch(
- SyncStore.updateGroupMember({
- oldGroup,
- trgtUserSeq
- })
- );
- }
- }
+ this.store.dispatch(
+ SyncStore.updateGroupMember({
+ oldGroup,
+ trgtUserSeq
+ })
+ );
+ }
+ }
+ });
}
break;
case 'EDIT_ROOM':
{
- const result = await this.dialogService.open<
- EditChatRoomDialogComponent,
- EditChatRoomDialogData,
- EditChatRoomDialogResult
- >(EditChatRoomDialogComponent, {
- width: '600px',
- data: {
- title: 'Edit Chat Room',
- roomInfo: this.roomInfo
- }
- });
-
- if (!!result && !!result.choice && result.choice) {
- const roomName: string = result.roomName;
- const roomNameChangeTarget: string = result.roomNameChangeTarget;
- const timeRoomInterval: number = result.timeRoomInterval;
- const roomInfo: RoomInfo = result.roomInfo;
-
- // 방제목 업데이트.
- this.store.dispatch(
- RoomStore.update({
- req: {
- roomSeq: roomInfo.roomSeq,
- roomName,
- receiveAlarm: roomInfo.receiveAlarm,
- syncAll:
- roomNameChangeTarget.toUpperCase() === 'ALL' ? true : false
+ this.translateService
+ .get(['chat.settingsOfRoom'])
+ .pipe(take(1))
+ .subscribe(async vs => {
+ const result = await this.dialogService.open<
+ EditChatRoomDialogComponent,
+ EditChatRoomDialogData,
+ EditChatRoomDialogResult
+ >(EditChatRoomDialogComponent, {
+ width: '600px',
+ data: {
+ title: vs['chat.settingsOfRoom'],
+ roomInfo: this.roomInfo
}
- })
- );
+ });
- if (
- roomInfo.isTimeRoom &&
- timeRoomInterval > 0 &&
- roomInfo.timeRoomInterval !== timeRoomInterval
- ) {
- this.store.dispatch(
- RoomStore.updateTimeRoomInterval({
- roomSeq: roomInfo.roomSeq,
- timerInterval: timeRoomInterval
- })
- );
- }
- }
+ if (!!result && !!result.choice && result.choice) {
+ const roomName: string = result.roomName;
+ const roomNameChangeTarget: string =
+ result.roomNameChangeTarget;
+ const timeRoomInterval: number = result.timeRoomInterval;
+ const roomInfo: RoomInfo = result.roomInfo;
+
+ // 방제목 업데이트.
+ this.store.dispatch(
+ RoomStore.update({
+ req: {
+ roomSeq: roomInfo.roomSeq,
+ roomName,
+ receiveAlarm: roomInfo.receiveAlarm,
+ syncAll:
+ roomNameChangeTarget.toUpperCase() === 'ALL'
+ ? true
+ : false
+ }
+ })
+ );
+
+ if (
+ roomInfo.isTimeRoom &&
+ timeRoomInterval > 0 &&
+ roomInfo.timeRoomInterval !== timeRoomInterval
+ ) {
+ this.store.dispatch(
+ RoomStore.updateTimeRoomInterval({
+ roomSeq: roomInfo.roomSeq,
+ timerInterval: timeRoomInterval
+ })
+ );
+ }
+ }
+ });
}
break;
case 'CLOSE_ROOM':
diff --git a/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/right-drawer/album-box.component.ts b/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/right-drawer/album-box.component.ts
index 9a258c5e..4cb8cd26 100644
--- a/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/right-drawer/album-box.component.ts
+++ b/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/right-drawer/album-box.component.ts
@@ -233,7 +233,7 @@ export class AlbumBoxComponent implements OnInit, OnDestroy {
.then(result => {
if (!!result) {
this.translateService
- .get('common.file.savedToPath', {
+ .get('common.file.results.savedToPath', {
path: result
})
.pipe(take(1))
@@ -245,7 +245,7 @@ export class AlbumBoxComponent implements OnInit, OnDestroy {
});
} else {
this.translateService
- .get('common.file.failToSave')
+ .get('common.file.errors.failToSave')
.pipe(take(1))
.subscribe(v => {
this.snackBarService.open(v);
@@ -254,7 +254,7 @@ export class AlbumBoxComponent implements OnInit, OnDestroy {
})
.catch(reason => {
this.translateService
- .get('common.file.failToSave')
+ .get('common.file.errors.failToSave')
.pipe(take(1))
.subscribe(v => {
this.snackBarService.open(v);
diff --git a/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/right-drawer/file-box.component.ts b/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/right-drawer/file-box.component.ts
index ee64a132..7dfb1cb9 100644
--- a/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/right-drawer/file-box.component.ts
+++ b/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/right-drawer/file-box.component.ts
@@ -277,7 +277,7 @@ export class FileBoxComponent implements OnInit, OnDestroy {
.then(result => {
if (!!result) {
this.translateService
- .get('common.file.savedToPath', {
+ .get('common.file.results.savedToPath', {
path: result
})
.pipe(take(1))
@@ -289,7 +289,7 @@ export class FileBoxComponent implements OnInit, OnDestroy {
});
} else {
this.translateService
- .get('common.file.failToSave')
+ .get('common.file.errors.failToSave')
.pipe(take(1))
.subscribe(v => {
this.snackBarService.open(v);
@@ -298,7 +298,7 @@ export class FileBoxComponent implements OnInit, OnDestroy {
})
.catch(reason => {
this.translateService
- .get('common.file.failToSave')
+ .get('common.file.errors.failToSave')
.pipe(take(1))
.subscribe(v => {
this.snackBarService.open(v);
diff --git a/projects/ucap-webmessenger-app/src/assets/i18n/en.json b/projects/ucap-webmessenger-app/src/assets/i18n/en.json
index e7d44171..783ffeb2 100644
--- a/projects/ucap-webmessenger-app/src/assets/i18n/en.json
+++ b/projects/ucap-webmessenger-app/src/assets/i18n/en.json
@@ -1,4 +1,105 @@
{
+ "profile": {
+ "open": "Open profile"
+ },
+ "group": {
+ "label": "Group",
+ "addNew": "Add new group",
+ "expandMore": "Expand all groups",
+ "expandLess": "Collapse all groups",
+ "name": "Group name",
+ "nameFavorit": "Favorit",
+ "nameMyDept": "My Dept",
+ "nameDefault": "Default",
+ "favorite": "Favorite",
+ "unfavorite": "Unfavorite",
+ "removeBuddyFromGroup": "Remove buddy from group",
+ "copyBuddyToGroup": "Copy buddy to other group",
+ "moveBuddyToGroup": "Move buddy to otyer group",
+ "changeGroupName": "Change name of group",
+ "modifyGroupMember": "Modify member of group",
+ "removeGroup": "Remove group",
+ "startChatWithGroup": "Chat with group",
+ "sendMessageToGroup": "Send message to group",
+ "selectTargetGroup": "Select target group"
+ },
+ "chat": {
+ "label": "Chat",
+ "room": "Chat room",
+ "searchRoomByName": "Search by room name",
+ "searchEventByText": "Search by chat",
+ "newTimerChat": "New Timer Chat",
+ "newChat": "New Chat",
+ "startChat": "Chat",
+ "openRoom": "Open room",
+ "listOfRoomMember": "List of room member",
+ "settingsOfRoom": "Settings of room",
+ "turnOnRoomAlert": "Turn on room alert",
+ "turnOffRoomAlert": "Turn off room alert",
+ "exitFromRoom": "Exit room",
+ "closeRoom": "Close room",
+ "confirmExitFromRoom": "Do you want to exit the chat room?
Exiting will delete your chat history and chat room information.",
+ "confirmDeleteFile": "Do you want to delete the file?
The deleted file (message) will only be applied to your chat room and will not be deleted from their chat room.",
+ "confirmRemoveEvent": "Do you want to delete the chat?
Deleted messages apply only to your chat room and are not deleted from their chat rooms.",
+ "confirmRecallEvent": "Do you want to recall the chat?
It is also retrieved from the other party's chat window.",
+ "typeReceived": "Received",
+ "typeSent": "Sent",
+ "sentDate": "Sent date",
+ "validityPeriod": "Validity period",
+ "forwardEventToMe": "Forward chat to me",
+ "forwardEventTo": "Forward chat to ...",
+ "forwardFileToMe": "Forward file to me",
+ "forwardFileTo": "Forward file to ...",
+ "addMemberToRoom": "Add member to room",
+ "addMemberToGroup": "Add member to group",
+ "copyChatText": "Copy chat",
+ "removeEvent": "Remove chat",
+ "recallEvent": "Recall chat",
+ "modifyRoomMember": "Modify chat room member",
+ "ejectFromRoom": "Eject from room",
+ "confirmEjectFromRoom": "Do you want to eject member[{{targetMember}}] from room?",
+ "badgeDescriptionForUnread": "There is an unconfirmed message.",
+ "albumBox": {
+ "label": "Album box"
+ },
+ "fileBox": {
+ "label": "File box"
+ },
+ "errors": {
+ "label": "Chat erros",
+ "inputChatMessage": "Please enter a chat message",
+ "maxLengthOfMassText": "If you include a sticker, you can't send more than {{maxLength}} characters."
+ },
+ "detailView": "Detail View"
+ },
+ "organization": {
+ "chart": "Organization chart",
+ "addToGroup": "Add to group",
+ "startChat": "Chat",
+ "startVideoConference": "Video conference",
+ "makeExtensionCall": "Make extension call",
+ "makeMobileCall": "Make mobile call",
+ "sendMessage": "Send message",
+ "sendSMS": "Send SMS"
+ },
+ "message": {
+ "label": "Message",
+ "newMessage": "New message",
+ "sendTo": "Send message",
+ "placeholderForSearch": "search for name, title, content",
+ "messageTypeAll": "All",
+ "messageTypeReceiving": "Receiving",
+ "messageTypeOutgoing": "Outgoing",
+ "messageTypeReservation": "Reservation",
+ "searchTypeName": "Name",
+ "searchTypeTitle": "Title",
+ "searchTypeContent": "Content",
+ "badgeDescriptionForUnread": "There is an unconfirmed message."
+ },
+ "notice": {
+ "fieldTitle": "Title",
+ "fieldPostDate": "Post date"
+ },
"common": {
"search": "Search",
"searchWord": "Search word",
@@ -10,9 +111,6 @@
"size": "Size of file",
"download": "Download",
"delete": "Delete",
- "saved": "The file has been saved.",
- "savedToPath": "The file has been saved to path[{{v}}].",
- "failToSave": "File save failed.",
"downloadSelected": "Download selected",
"openDownloadFolder": "Open download folder",
"selectFiles": "Select files",
@@ -20,6 +118,21 @@
"label": "Type of file",
"images": "Images",
"video": "Video"
+ },
+ "results": {
+ "saved": "The file has been saved.",
+ "savedToPath": "The file has been saved to path[{{path}}]."
+ },
+ "errors": {
+ "label": "File errors",
+ "failToUpload": "File upload failed.",
+ "failToSave": "File save failed.",
+ "failToSpecifyPath": "Specifing of save path failed."
+ }
+ },
+ "clipboard": {
+ "results": {
+ "copied": "Copied to clipboard."
}
},
"messages": {
@@ -632,83 +745,5 @@
"WET": "WET",
"Zulu": "Zulu"
}
- },
- "profile": {
- "open": "Open profile"
- },
- "group": {
- "label": "Group",
- "addNew": "Add new group",
- "expandMore": "Expand all groups",
- "expandLess": "Collapse all groups",
- "name": "Group name",
- "nameFavorit": "Favorit",
- "nameMyDept": "My Dept",
- "nameDefault": "Default",
- "favorite": "Favorite",
- "unfavorite": "Unfavorite",
- "removeBuddyFromGroup": "Remove buddy from group",
- "copyBuddyToGroup": "Copy buddy to other group",
- "moveBuddyToGroup": "Move buddy to otyer group",
- "changeGroupName": "Change name of group",
- "modifyGroupMember": "Modify member of group",
- "removeGroup": "Remove group",
- "startChatWithGroup": "Chat with group",
- "sendMessageToGroup": "Send message to group",
- "selectTargetGroup": "Select target group"
- },
- "chat": {
- "label": "Chat",
- "room": "Chat room",
- "searchRoomByName": "Search by room name",
- "newTimerChat": "New Timer Chat",
- "newChat": "New Chat",
- "startChat": "Chat",
- "openRoom": "Open room",
- "turnOnRoomAlert": "turn on room alert",
- "turnOffRoomAlert": "turn off room alert",
- "leaveFromRoom": "leave room",
- "confirmLeaveFromRoom": "Do you want to leave the chat room?
Leave your chat history and chat room information.",
- "confirmDeleteFile": "Do you want to delete the file?
The deleted file (message) will only be applied to your chat room and will not be deleted from their chat room.",
- "typeReceived": "Received",
- "typeSent": "Sent",
- "sentDate": "Sent date",
- "validityPeriod": "Validity period",
- "forwardFileToMe": "Forward file to me",
- "forwardFileTo": "Forward file to ...",
- "addMemberToRoom": "Add member to room",
- "addMemberToGroup": "Add member to group",
- "modifyRoomMember": "Modify chat room member",
- "ejectFromRoom": "Eject from room",
- "confirmEjectFromRoom": "Do you want to eject member[{{targetMember}}] from room?",
- "badgeDescriptionForUnread": "There is an unconfirmed message."
- },
- "organization": {
- "chart": "Organization chart",
- "addToGroup": "Add to group",
- "startChat": "Chat",
- "startVideoConference": "Video conference",
- "makeExtensionCall": "Make extension call",
- "makeMobileCall": "Make mobile call",
- "sendMessage": "Send message",
- "sendSMS": "Send SMS"
- },
- "message": {
- "label": "Message",
- "newMessage": "New message",
- "sendTo": "Send message",
- "placeholderForSearch": "search for name, title, content",
- "messageTypeAll": "All",
- "messageTypeReceiving": "Receiving",
- "messageTypeOutgoing": "Outgoing",
- "messageTypeReservation": "Reservation",
- "searchTypeName": "Name",
- "searchTypeTitle": "Title",
- "searchTypeContent": "Content",
- "badgeDescriptionForUnread": "There is an unconfirmed message."
- },
- "notice": {
- "fieldTitle": "Title",
- "fieldPostDate": "Post date"
}
}
diff --git a/projects/ucap-webmessenger-app/src/assets/i18n/ko.json b/projects/ucap-webmessenger-app/src/assets/i18n/ko.json
index 7a40679c..58495556 100644
--- a/projects/ucap-webmessenger-app/src/assets/i18n/ko.json
+++ b/projects/ucap-webmessenger-app/src/assets/i18n/ko.json
@@ -1,4 +1,105 @@
{
+ "profile": {
+ "open": "프로필 보기"
+ },
+ "group": {
+ "label": "그룹",
+ "addNew": "새 그룹 추가",
+ "expandMore": "그룹 전체 열기",
+ "expandLess": "그룹 전체 닫기",
+ "name": "그룹 이름",
+ "nameFavorit": "즐겨찾기",
+ "nameMyDept": "소속부서",
+ "nameDefault": "기본",
+ "favorite": "즐겨찾기 등록",
+ "unfavorite": "즐겨찾기 해제",
+ "removeBuddyFromGroup": "이 그룹에서 삭제",
+ "copyBuddyToGroup": "대화 상대 복사",
+ "moveBuddyToGroup": "대화 상대 이동",
+ "changeGroupName": "그룹 이름 바꾸기",
+ "modifyGroupMember": "그룹 멤버 변경",
+ "removeGroup": "그룹 삭제",
+ "startChatWithGroup": "그룹 대화하기",
+ "sendMessageToGroup": "그룹 쪽지 보내기",
+ "selectTargetGroup": "대상 그룹 선택"
+ },
+ "chat": {
+ "label": "대화",
+ "room": "대화방",
+ "searchRoomByName": "대화방 이름 검색",
+ "searchEventByText": "대화 내용 검색",
+ "newTimerChat": "새로운 타이머 대화",
+ "newChat": "새로운 대화",
+ "startChat": "대화하기",
+ "openRoom": "대화방 열기",
+ "listOfRoomMember": "대화 참여자 목록",
+ "settingsOfRoom": "대화방 설정",
+ "turnOnRoomAlert": "대화방 알람 켜기",
+ "turnOffRoomAlert": "대화방 알람 끄기",
+ "exitFromRoom": "대화방 나가기",
+ "closeRoom": "방 닫기",
+ "confirmExitFromRoom": "대화방을 나가시겠습니까?
나가기를 하면 대화내용 및 대화방 정보가 삭제됩니다.",
+ "confirmDeleteFile": "선택한 파일(메시지)를 삭제하시겠습니까?
삭제된 파일(메시지)는 내 대화방에서만 적용되며 상대방의 대화방에서는 삭제되지 않습니다.",
+ "confirmRemoveEvent": "선택한 메시지를 삭제하시겠습니까?
삭제된 메시지는 내 대화방에서만 적용되며 상대방의 대화방에서는 삭제되지 않습니다.",
+ "confirmRecallEvent": "해당 대화를 회수하시겠습니까?
상대방 대화창에서도 회수됩니다.",
+ "typeReceived": "수신",
+ "typeSent": "발신",
+ "sentDate": "보낸 날짜",
+ "validityPeriod": "유효 기간",
+ "forwardEventToMe": "대화 나에게 전달",
+ "forwardEventTo": "대화 전달",
+ "forwardFileToMe": "파일을 나에게 전달",
+ "forwardFileTo": "파일 전달",
+ "addMemberToRoom": "대화 상대 추가",
+ "addMemberToGroup": "그룹 멤버로 추가",
+ "copyChatText": "대화 복사",
+ "removeEvent": "대화 삭제",
+ "recallEvent": "대화 회수",
+ "modifyRoomMember": "대화방 멤버 편집",
+ "ejectFromRoom": "강퇴",
+ "confirmEjectFromRoom": "{{targetMember}} 님을 대화방에서 퇴장 시키겠습니까?",
+ "badgeDescriptionForUnread": "확인하지 않은 메시지가 있습니다.",
+ "albumBox": {
+ "label": "앨범함"
+ },
+ "fileBox": {
+ "label": "파일함"
+ },
+ "errors": {
+ "label": "대화 에러",
+ "inputChatMessage": "대화 내용을 입력해 주세요.",
+ "maxLengthOfMassText": "스티커를 포함할 경우 {{maxLength}}자 이상 보낼 수 없습니다."
+ },
+ "detailView": "상세 보기"
+ },
+ "organization": {
+ "chart": "조직도",
+ "addToGroup": "그룹에 추가",
+ "startChat": "대화",
+ "startVideoConference": "화상회의",
+ "makeExtensionCall": "내선번호 전화걸기",
+ "makeMobileCall": "모바일 전화걸기",
+ "sendMessage": "쪽지 보내기",
+ "sendSMS": "SMS 보내기"
+ },
+ "message": {
+ "label": "쪽지",
+ "newMessage": "새로운 쪽지",
+ "sendTo": "쪽지 보내기",
+ "placeholderForSearch": "이름, 제목, 내용 검색",
+ "messageTypeAll": "전체",
+ "messageTypeReceiving": "수신",
+ "messageTypeOutgoing": "발신",
+ "messageTypeReservation": "예약",
+ "searchTypeName": "이름",
+ "searchTypeTitle": "제목",
+ "searchTypeContent": "내용",
+ "badgeDescriptionForUnread": "확인하지 않은 쪽지가 있습니다."
+ },
+ "notice": {
+ "fieldTitle": "제목",
+ "fieldPostDate": "게시일"
+ },
"common": {
"search": "검색",
"searchWord": "검색어",
@@ -10,9 +111,6 @@
"size": "파일 크기",
"download": "파일 다운로드",
"delete": "파일 삭제",
- "saved": "파일이 저장되었습니다.",
- "savedToPath": "파일이 경로[{{path}}]에 저장되었습니다.",
- "failToSave": "파일 저장에 실패하였습니다.",
"downloadSelected": "선택된 파일 다운로드",
"openDownloadFolder": "다운로드 폴더 열기",
"selectFiles": "파일을 선택하세요",
@@ -20,6 +118,21 @@
"label": "파일 종류",
"images": "이미지",
"video": "동영상"
+ },
+ "results": {
+ "saved": "파일이 저장되었습니다.",
+ "savedToPath": "파일이 경로[{{path}}]에 저장되었습니다."
+ },
+ "errors": {
+ "label": "파일 에러",
+ "failToUpload": "파일 업로드에 실패하였습니다.",
+ "failToSave": "파일 저장에 실패하였습니다.",
+ "failToSpecifyPath": "저장경로 지정에 실패하였습니다."
+ }
+ },
+ "clipboard": {
+ "results": {
+ "copied": "클립보드에 복사되었습니다."
}
},
"messages": {
@@ -632,83 +745,5 @@
"WET": "WET",
"Zulu": "줄루"
}
- },
- "profile": {
- "open": "프로필 보기"
- },
- "group": {
- "label": "그룹",
- "addNew": "새 그룹 추가",
- "expandMore": "그룹 전체 열기",
- "expandLess": "그룹 전체 닫기",
- "name": "그룹 이름",
- "nameFavorit": "즐겨찾기",
- "nameMyDept": "소속부서",
- "nameDefault": "기본",
- "favorite": "즐겨찾기 등록",
- "unfavorite": "즐겨찾기 해제",
- "removeBuddyFromGroup": "이 그룹에서 삭제",
- "copyBuddyToGroup": "대화 상대 복사",
- "moveBuddyToGroup": "대화 상대 이동",
- "changeGroupName": "그룹 이름 바꾸기",
- "modifyGroupMember": "그룹 멤버 변경",
- "removeGroup": "그룹 삭제",
- "startChatWithGroup": "그룹 대화하기",
- "sendMessageToGroup": "그룹 쪽지 보내기",
- "selectTargetGroup": "대상 그룹 선택"
- },
- "chat": {
- "label": "대화",
- "room": "대화방",
- "searchRoomByName": "대화방 이름 검색",
- "newTimerChat": "새로운 타이머 대화",
- "newChat": "새로운 대화",
- "startChat": "대화하기",
- "openRoom": "대화방 열기",
- "turnOnRoomAlert": "대화방 알람 켜기",
- "turnOffRoomAlert": "대화방 알람 끄기",
- "leaveFromRoom": "대화방 나가기",
- "confirmLeaveFromRoom": "대화방을 나가시겠습니까?
나가기를 하면 대화내용 및 대화방 정보가 삭제됩니다.",
- "confirmDeleteFile": "선택한 파일(메시지)를 삭제하시겠습니까?
삭제된 파일(메시지)는 내 대화방에서만 적용되며 상대방의 대화방에서는 삭제되지 않습니다.",
- "typeReceived": "수신",
- "typeSent": "발신",
- "sentDate": "보낸 날짜",
- "validityPeriod": "유효 기간",
- "forwardFileToMe": "파일을 나에게 전달",
- "forwardFileTo": "파일 전달",
- "addMemberToRoom": "대화 상대 추가",
- "addMemberToGroup": "그룹 멤버로 추가",
- "modifyRoomMember": "대화방 멤버 편집",
- "ejectFromRoom": "Eject from room",
- "confirmEjectFromRoom": "{{targetMember}} 님을 대화방에서 퇴장 시키겠습니까?",
- "badgeDescriptionForUnread": "확인하지 않은 메시지가 있습니다."
- },
- "organization": {
- "chart": "조직도",
- "addToGroup": "그룹에 추가",
- "startChat": "대화",
- "startVideoConference": "화상회의",
- "makeExtensionCall": "내선번호 전화걸기",
- "makeMobileCall": "모바일 전화걸기",
- "sendMessage": "쪽지 보내기",
- "sendSMS": "SMS 보내기"
- },
- "message": {
- "label": "쪽지",
- "newMessage": "새로운 쪽지",
- "sendTo": "쪽지 보내기",
- "placeholderForSearch": "이름, 제목, 내용 검색",
- "messageTypeAll": "전체",
- "messageTypeReceiving": "수신",
- "messageTypeOutgoing": "발신",
- "messageTypeReservation": "예약",
- "searchTypeName": "이름",
- "searchTypeTitle": "제목",
- "searchTypeContent": "내용",
- "badgeDescriptionForUnread": "확인하지 않은 쪽지가 있습니다."
- },
- "notice": {
- "fieldTitle": "제목",
- "fieldPostDate": "게시일"
}
}