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

キャッシュ前リセット

stimeo--reset-before-cache

turbo:before-cache で一時的な UI を初期化し、戻る復元を綺麗に保つ。

  • Rails / Turbo

stimeo--reset-before-cache コントローラは最も Hotwire 固有の gap パーツです。 turbo:before-cache 時に、開いたメニュー/モーダル・入力中の値・残ったトーストなど一時的な UI を初期状態へ戻し、「戻る」で復元したページが操作途中で固まらないようにします。<body> に 1 つ置きます。 scope 内の宣言的な data-reset-* を適用し、data-reset-attr は指定属性(open / aria-expanded など)を除去、data-reset-class は指定クラス(is-open / is-loading など)を除去、data-reset-form は form.reset() を実行、data-reset-value は単体フィールドをクリア、 data-reset-hidden は要素を再非表示、data-reset-remove はノードを除去します。dispatchReset が有効なときは先に stimeo--reset-before-cache:request を発火して各コントローラの閉じ処理を促し、続いて stimeo--reset-before-cache:reset を発火します。冪等(何度実行しても同じ状態へ収束)で、リスナは connect/disconnect と対で管理します。ライブラリは挙動のみを提供し、状態フックは付与せず除去する側です。

実行中

詳細表示を開き、値を入力し、トーストを表示してから、キャッシュを擬似実行してください。

開いてみる

このパネルは開いています。キャッシュ前リセット後は閉じた状態に戻ります。