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

プレビュー中の揮発要素ガード

stimeo--preview-guard

Turbo がキャッシュのプレビューを表示している間だけ、揮発要素を隠す/プレースホルダ化。

  • Rails / Turbo

stimeo--preview-guard コントローラ(Hotwire 固有)は、Turbo がプレビューを表示している間(html[data-turbo-preview])だけ、残高・通知件数・時刻などの揮発要素をガードし、戻る/復元時に古いキャッシュのスナップショットが一瞬古い値を見せてしまう事故を防ぎます。<html> の data-turbo-preview を MutationObserver で監視し、存在する間は mode="hide" で visibility:hidden(箱は残しレイアウトを乱さない)、 mode="placeholder" で text を placeholder へ差し替え、data-preview-hidden を付与して hide を発火します。プレビューが解除されると保存した値へ復帰し show を発火します。挙動のみで、最新値の取得は通常レンダリングの責務です。connect 時にプレビュー中なら即時で隠し、フォーカスは移動せず、disconnect(Turbo 遷移含む)で observer を切断し要素を復帰します。

実行中
残高
¥123,456
更新
12:34:56

「戻る/進む」で Turbo がキャッシュを一瞬表示する間だけ、残高はプレースホルダに・時刻は非表示になり、古い値が一瞬見える事故を防ぎます(上のボタンでその約 1.5 秒を擬似発生)。