Live Demo
すべてのインタラクションは WebSocket 経由でサーバーの GenServer に届きます。
:patch
カウンター — 部分更新
{:patch, "demo-counter-value", rendered, assigns} を使用。
カウンター部分の要素だけが更新され、ページ全体は再描画されません。
0
ws-submit
form submit
自由入力フォームは ws-submit で送信します(入力値は動的なため
<.dialup_action> の静的パラメータでは表現できません)。
同じ操作は declare_action で AI にも公開されます。
ws-change
リアルタイム入力同期
テキスト入力は ws-change + ws-debounce でサーバーへ同期します。
確定ボタンは <.dialup_action> です。
入力内容がここにリアルタイム表示されます
:update
メッセージログ — 全体更新
{:update, assigns} を使用。送信のたびに #dialup-root 全体を idiomorph で差し替えます。
まだメッセージがありません。
navigate
SPA ナビゲーション
ページ移動は <.dialup_action navigate="/path"> で宣言します。
人間のリンクと AI のナビゲーションツールが同時に生成されます。