コンポーネント
← すべてのコンポーネント

入力中インジケータ

stimeo--typing-indicator

Action Cable で届く「X が入力中…」— ほぼゼロ JS のリアルタイム表示。

  • Core

stimeo--typing-indicator は server-bound(サーバ連動)カテゴリの第 1 号です。状態はクライアントのメモリではなく、サーバの Action Cable ストリーム上に住みます。要素配下のどこかで入力すると、スロットリング(throttle ms に 1 回・先頭エッジ)付きで自分の表示名を載せた typing 信号を broadcast します。他クライアントから受けた信号は入力者ごとに追跡され、 status ライブリージョンに「X が入力中…」と表示、timeout ms 沈黙した入力者は自動で消えます。自分のエコーは name の比較で抑制します。サーバ側は受けた信号を部屋へ rebroadcast するだけの薄いチャンネル 1 枚(このカタログの TypingChannel は仕様のサンプルに公開デプロイ用の固定 room allowlist を足したもの)で、状態もタイマーも持ちません。表示文言は data-one / data-many テンプレートでローカライズでき、data-typing フックが見た目の切替を担います。opt-in サブパス stimeo-ui/cable に同梱(@rails/actioncable は optional peer。コアはゼロ依存のまま)で、既存アプリの consumer は setCableConsumer() で共有できます。認証とメッセージ本文の送受信はスコープ外です。

実行中

このページをもう 1 つのタブで開いて並べ、片方のコンポーザで入力してください。もう片方のタブにインジケータが表示されます(自分のタブには出ません — 自分のエコーは設計どおり抑制されます)。入力を止めると約 3 秒で消えます。

あなたは ゲスト ce12 として他の人に表示されます。