diff --git a/src/app/component/chat-palette/chat-palette.component.ts b/src/app/component/chat-palette/chat-palette.component.ts
index 76a523de2..69a397344 100644
--- a/src/app/component/chat-palette/chat-palette.component.ts
+++ b/src/app/component/chat-palette/chat-palette.component.ts
@@ -174,7 +174,8 @@ export class ChatPaletteComponent implements OnInit, OnDestroy {
let option: PanelOption = { left: coordinate.x, top: coordinate.y, width: 560, height: 620 };
let textView = this.panelService.open(TextViewComponent, option);
textView.title = 'チャット記法とチャットパレットの使い方';
- textView.text =
+ textView.shadowing = '💭';
+ textView.text = [
` パラメータ操作コマンド、ダイスボットコマンドは全角と半角を区別しません、また、ダイスボットコマンドやパラメータの名前はアルファベットの大文字と小文字を区別しません。下記を併用する場合、スペースで区切ってパラメータ操作コマンド、ダイスボットコマンド、チャットメッセージの順に記述します、それぞれ省略が可能です。
チャット内容をチャットパレットに準備することができます。各行に一つの内容を記述し、行をシングルクリックでチャット欄に呼び出し、ダブルクリックで送信します。
@@ -220,6 +221,6 @@ export class ChatPaletteComponent implements OnInit, OnDestroy {
受けるが良い!|約束された勝利の剣《エクスカリバー》!
・💭
- キャラクターからのチャット送信時、 「 と 」 で囲んだ内容を💭で表示します。`;
+ キャラクターからのチャット送信時、 「 と 」 で囲んだ内容を💭で表示します。`];
}
}
diff --git a/src/app/component/chat-tab-setting/chat-tab-setting.component.html b/src/app/component/chat-tab-setting/chat-tab-setting.component.html
index ee1215f30..b78c587df 100644
--- a/src/app/component/chat-tab-setting/chat-tab-setting.component.html
+++ b/src/app/component/chat-tab-setting/chat-tab-setting.component.html
@@ -15,7 +15,7 @@
diff --git a/src/app/component/context-menu/context-menu.component.html b/src/app/component/context-menu/context-menu.component.html
index 53e40b55a..17cbee0ce 100644
--- a/src/app/component/context-menu/context-menu.component.html
+++ b/src/app/component/context-menu/context-menu.component.html
@@ -37,7 +37,7 @@
■
■
{{action.materialIcon}}
- {{ action.name.replace('☑', '').replace('☐', '').replace('◉', '').replace('○', '') }}
*
+
*
open_in_new
diff --git a/src/app/component/context-menu/context-menu.component.ts b/src/app/component/context-menu/context-menu.component.ts
index 1f83adaaf..97addac69 100644
--- a/src/app/component/context-menu/context-menu.component.ts
+++ b/src/app/component/context-menu/context-menu.component.ts
@@ -3,6 +3,7 @@ import { ContextMenuAction, ContextMenuService } from 'service/context-menu.serv
import { PointerDeviceService } from 'service/pointer-device.service';
import { TabletopObject } from '@udonarium/tabletop-object';
import { PeerCursor } from '@udonarium/peer-cursor';
+import { StringUtil } from '@udonarium/core/system/util/string-util';
@Component({
selector: 'context-menu',
@@ -180,4 +181,9 @@ export class ContextMenuComponent implements OnInit, OnDestroy, AfterViewInit {
close() {
if (this.contextMenuService) this.contextMenuService.close();
}
+
+ actionNameHtmlEscape(str) {
+ if (str == null) return '';
+ return StringUtil.escapeHtml(str.replace('☑', '').replace('☐', '').replace('◉', '').replace('○', '')).replace(/💭/g, '
💭');
+ }
}
diff --git a/src/app/component/stand-element/stand-element.component.html b/src/app/component/stand-element/stand-element.component.html
index e4ceb5332..b3cd630db 100644
--- a/src/app/component/stand-element/stand-element.component.html
+++ b/src/app/component/stand-element/stand-element.component.html
@@ -63,7 +63,7 @@
diff --git a/src/app/component/text-view/text-view.component.html b/src/app/component/text-view/text-view.component.html
index d97456ce0..63451bac3 100644
--- a/src/app/component/text-view/text-view.component.html
+++ b/src/app/component/text-view/text-view.component.html
@@ -1,3 +1,3 @@
{{text}}
\ No newline at end of file
+ [innerHTML]="textShadwing(htmlEscapeLinking(t)) | safe: 'html'" (click)="onLinkClick($event)">
\ No newline at end of file
diff --git a/src/app/component/text-view/text-view.component.ts b/src/app/component/text-view/text-view.component.ts
index 401c94385..68d4fc988 100644
--- a/src/app/component/text-view/text-view.component.ts
+++ b/src/app/component/text-view/text-view.component.ts
@@ -16,6 +16,7 @@ export class TextViewComponent implements OnInit {
@Input() text: string|string[] = '';
@Input() title: string = '';
+ @Input() shadowing: string = '';
constructor(
private panelService: PanelService,
@@ -59,6 +60,13 @@ export class TextViewComponent implements OnInit {
});
}
+ textShadwing(str) {
+ if (str == null) return '';
+ if (this.shadowing == null || this.shadowing === '') return str;
+ const regExp = new RegExp(`[${this.shadowing}]`, 'g');
+ return str.replace(regExp, '
$&')
+ }
+
isObj(val) { return typeof val == 'object'; }
onLinkClick($event) {