{
export function isCopyable(eventType: EventType): boolean {
return (
- EventType.Character === eventType || EventType.Translation === eventType
+ EventType.Character === eventType ||
+ EventType.Translation === eventType ||
+ EventType.MassTranslation === eventType
);
}
diff --git a/projects/ucap-webmessenger-ui-chat/src/lib/components/message-box/mass-translation.component.html b/projects/ucap-webmessenger-ui-chat/src/lib/components/message-box/mass-translation.component.html
index be9d40ca..d25ddda8 100644
--- a/projects/ucap-webmessenger-ui-chat/src/lib/components/message-box/mass-translation.component.html
+++ b/projects/ucap-webmessenger-ui-chat/src/lib/components/message-box/mass-translation.component.html
@@ -3,10 +3,12 @@
*ngIf="!translationSimpleview || (!!translationSimpleview && !!isMe)"
class="original"
[innerHTML]="message.sentMessageJson.original | linky"
+ (contextmenu)="onContextMenuMessage($event, 'original')"
>
{{ message.sentMessageJson.destLocale }}
diff --git a/projects/ucap-webmessenger-ui-chat/src/lib/components/message-box/mass-translation.component.ts b/projects/ucap-webmessenger-ui-chat/src/lib/components/message-box/mass-translation.component.ts
index dc9e85d0..8c5386aa 100644
--- a/projects/ucap-webmessenger-ui-chat/src/lib/components/message-box/mass-translation.component.ts
+++ b/projects/ucap-webmessenger-ui-chat/src/lib/components/message-box/mass-translation.component.ts
@@ -26,6 +26,12 @@ export class MassTranslationComponent implements OnInit {
contentsType: string;
}>();
+ @Output()
+ contextMenu = new EventEmitter<{
+ event: MouseEvent;
+ type: string;
+ }>();
+
constructor() {}
ngOnInit() {}
@@ -43,4 +49,8 @@ export class MassTranslationComponent implements OnInit {
contentsType
});
}
+
+ onContextMenuMessage(event: MouseEvent, type: string) {
+ this.contextMenu.emit({ event, type });
+ }
}
diff --git a/projects/ucap-webmessenger-ui-chat/src/lib/components/message-box/translation.component.html b/projects/ucap-webmessenger-ui-chat/src/lib/components/message-box/translation.component.html
index 9f284ee0..14a333b3 100644
--- a/projects/ucap-webmessenger-ui-chat/src/lib/components/message-box/translation.component.html
+++ b/projects/ucap-webmessenger-ui-chat/src/lib/components/message-box/translation.component.html
@@ -6,6 +6,7 @@
this.message.sentMessageJson.stickerfile.trim().length > 0
"
class="sticker"
+ (contextmenu)="onContextMenuMessage($event, 'original')"
>
![]()
{{ message.sentMessageJson.locale }}
diff --git a/projects/ucap-webmessenger-ui-chat/src/lib/components/message-box/translation.component.ts b/projects/ucap-webmessenger-ui-chat/src/lib/components/message-box/translation.component.ts
index d2b4266d..51985972 100644
--- a/projects/ucap-webmessenger-ui-chat/src/lib/components/message-box/translation.component.ts
+++ b/projects/ucap-webmessenger-ui-chat/src/lib/components/message-box/translation.component.ts
@@ -1,4 +1,4 @@
-import { Component, OnInit, Input } from '@angular/core';
+import { Component, OnInit, Input, EventEmitter, Output } from '@angular/core';
import { Info, TranslationEventJson } from '@ucap-webmessenger/protocol-event';
@Component({
@@ -16,6 +16,12 @@ export class TranslationComponent implements OnInit {
@Input()
isMe: boolean;
+ @Output()
+ contextMenu = new EventEmitter<{
+ event: MouseEvent;
+ type: string;
+ }>();
+
stickerUrl?: string;
constructor() {}
@@ -29,4 +35,8 @@ export class TranslationComponent implements OnInit {
this.stickerUrl = `assets/sticker/sticker_s_${this.message.sentMessageJson.stickerfile}.png`;
}
}
+
+ onContextMenuMessage(event: MouseEvent, type: string) {
+ this.contextMenu.emit({ event, type });
+ }
}
diff --git a/projects/ucap-webmessenger-ui-chat/src/lib/components/messages.component.html b/projects/ucap-webmessenger-ui-chat/src/lib/components/messages.component.html
index 303b4ec3..b3769536 100644
--- a/projects/ucap-webmessenger-ui-chat/src/lib/components/messages.component.html
+++ b/projects/ucap-webmessenger-ui-chat/src/lib/components/messages.component.html
@@ -187,6 +187,7 @@
[message]="message"
[translationSimpleview]="translationSimpleview"
[isMe]="message.senderSeq === loginRes.userSeq"
+ (contextMenu)="onContextMenuMessage($event, message)"
class="information-msg"
>
diff --git a/projects/ucap-webmessenger-ui-chat/src/lib/components/messages.component.ts b/projects/ucap-webmessenger-ui-chat/src/lib/components/messages.component.ts
index 403564f4..0728c15e 100644
--- a/projects/ucap-webmessenger-ui-chat/src/lib/components/messages.component.ts
+++ b/projects/ucap-webmessenger-ui-chat/src/lib/components/messages.component.ts
@@ -78,6 +78,7 @@ export class MessagesComponent implements OnInit {
contextMenu = new EventEmitter<{
event: MouseEvent;
message: Info;
+ type?: string;
}>();
messages: Info[];
@@ -248,7 +249,14 @@ export class MessagesComponent implements OnInit {
}
/** [Event] Context Menu */
- onContextMenuMessage(event: MouseEvent, message: Info) {
- this.contextMenu.emit({ event, message });
+ onContextMenuMessage(event: any, message: Info) {
+ if (
+ message.type === EventType.Translation ||
+ message.type === EventType.MassTranslation
+ ) {
+ this.contextMenu.emit({ event: event.event, message, type: event.type });
+ } else {
+ this.contextMenu.emit({ event, message });
+ }
}
}