bricks/docs/ja/wterm.md
2025-11-19 12:30:39 +08:00

41 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Wterm
**コンポーネント機能**xterm.js を基に実装されたWeb端末コンポーネント。ブラウザ内にWebSocketを通じてバックエンドとやり取り可能な端末インターフェースを埋め込むことができます。端末サイズの自動調整、ハートビートによる接続維持、入出力データの送受信などの機能をサポートしています。
**タイプ**:通常コンポーネント
**親コンポーネント**`bricks.JsWidget`
## 初期化パラメータ
- `ws_url` (String, 必須)
WebSocket接続用のURL。バックエンドの端末サービスとの通信を確立するために使用します。
- `ping_timeout` (Number, 省略可能, デフォルト値: 19)
ハートビートの間隔(秒単位)。定期的にサーバーへハートビートメッセージを送信し、接続を維持するために使用します。
> その他の `JsWidget` から継承可能な一般的なオプション(レイアウト、スタイルなど)も適用されます。
## 主要なイベント
- `domon`
コンポーネントがDOMにマウントされたときに発火。自動的に `send_term_size()` を呼び出し、現在の端末サイズをサーバーに送信します。
- `domoff`
コンポーネントがDOMから削除されたときに発火。WebSocket接続の切断や端末インスタンスの破棄など、リソースのクリーンアップ処理を実行します。
- `element_resize`
コンポーネントを含む要素のサイズが変更されたときに発火。端末表示領域の調整およびサイズの再適応(`FitAddon` 経由)を行います。
- `terminal_input`(暗黙のイベント)
ユーザーが端末に入力をした際、`term.onData` によってトリガーされ、入力内容をWebSocketを通じてサーバーに送信します。
- `terminal_resize`
端末の行数・列数が変更されたときに発火(`term.onResize` で監視)。自動的に `send_term_size()` を呼び出して、最新のサイズ情報をサーバーに同期します。
- `websocket_message`
WebSocketメッセージを受信した際、データの種類に応じて処理を行います
- `data`: 受信内容を端末画面に書き込みます。
- `heartbeat`: ハートビート応答。接続が正常であることを示します。
- その他: デバッグ用にログを出力します。
- `websocket_open / close / error`
WebSocketのライフサイクルイベント。それぞれ接続確立時、切断時、エラー発生時に処理を行い、リソースが正しく解放されるよう保証します。