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

2.7 KiB
Raw Permalink Blame History

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のライフサイクルイベント。それぞれ接続確立時、切断時、エラー発生時に処理を行い、リソースが正しく解放されるよう保証します。