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) {