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