HTMX Fragment & Router

TsgcHTMX_Fragment / TsgcHTMX_Router — 特定のDOM要素を対象としたアウトオブバンドhtmxスワップペイロードを構築し、URLパターンをDelphiハンドラプロシージャにルーティングします。

TsgcHTMX_Fragment & TsgcHTMX_Router

TsgcHTMX_Fragment は、指定されたDOM要素のIDとスワップ戦略に基づいて、正しい形式のアウトオブバンドhtmxスワップ文字列を構築します。TsgcHTMX_Router は受信HTTPリクエストを登録済みのDelphiハンドラメソッドにディスパッチし、手動でのURL解析を不要にします。

コンポーネントクラス

TsgcHTMX_FragmentTsgcHTMX_Router

役割

OOBスワップ & リクエストルーティング

ファミリー

インフラ & エンジン

言語

Delphi, C++ Builder, .NET

フラグメントの構築とリクエストのルーティング

TsgcHTMX_Fragment を使用して、特定のDOM要素IDを対象としたアウトオブバンドhtmxスワップ文字列を構築します。TsgcHTMX_Router を使用すると、if/elseチェーンを記述することなく、受信HTTPリクエストを登録済みハンドラメソッドにディスパッチできます。

uses
  sgcHTMX_Fragment, sgcHTMX_Router;

// Build and broadcast an OOB fragment:
var
  oFrag: TsgcHTMX_Fragment;
begin
  oFrag := TsgcHTMX_Fragment.Create(nil);
  try
    oFrag.TargetID   := 'kpi-revenue';
    oFrag.SwapMethod := 'innerHTML';
    oFrag.Content    := FormatFloat('#,##0', FRevenue);
    oHTMX.BroadcastFragment(oFrag.Fragment);
  finally
    oFrag.Free;
  end;
end;

// Route requests with TsgcHTMX_Router:
var
  oRouter: TsgcHTMX_Router;
begin
  oRouter := TsgcHTMX_Router.Create(nil);
  oRouter.AddRoute('GET',  '/customers',     HandleCustomers);
  oRouter.AddRoute('POST', '/customer/save', HandleCustomerSave);
  oRouter.HandleRequest(AContext, ARequest, AResponse);
end;
TsgcHTMX_Fragment *oFrag = new TsgcHTMX_Fragment(NULL);
try
{
  oFrag->TargetID   = "kpi-revenue";
  oFrag->SwapMethod = "innerHTML";
  oFrag->Content    = FormatFloat("#,##0", FRevenue);
  oHTMX->BroadcastFragment(oFrag->Fragment);
}
__finally { delete oFrag; }

TsgcHTMX_Router *oRouter = new TsgcHTMX_Router(NULL);
oRouter->AddRoute("GET",  "/customers",     HandleCustomers);
oRouter->AddRoute("POST", "/customer/save", HandleCustomerSave);
oRouter->HandleRequest(AContext, ARequest, AResponse);
var frag = new TsgcHTMX_Fragment();
frag.TargetID   = "kpi-revenue";
frag.SwapMethod = "innerHTML";
frag.Content    = revenue.ToString("N0");
htmxEngine.BroadcastFragment(frag.Fragment);

var router = new TsgcHTMX_Router();
router.AddRoute("GET",  "/customers",     HandleCustomers);
router.AddRoute("POST", "/customer/save", HandleCustomerSave);
router.HandleRequest(context, request, response);

主要なプロパティとメソッド

最もよく使うメンバーです。

TsgcHTMX_Fragment.TargetID

置き換えるDOM要素の id。htmxの hx-swap-oob ターゲットに対応します。

TsgcHTMX_Fragment.SwapMethod

htmxのスワップ戦略: innerHTMLouterHTMLbeforebeginafterend など。

TsgcHTMX_Fragment.Content

ターゲットに注入する新しいHTML。シンプルな文字列でも、任意のsgcHTMLコンポーネントの出力でも指定できます。

TsgcHTMX_Fragment.Fragment

読み取り専用。BroadcastFragment に渡すか、HTTPレスポンスボディとして返すための、完全に整形されたOOBスワップ文字列を返します。

TsgcHTMX_Router.AddRoute

URLパターンとHTTPメソッドの組み合わせをDelphiハンドラプロシージャまたはメソッドに登録します。

TsgcHTMX_Router.HandleRequest

受信リクエストを登録済みルートと照合し、一致するハンドラを呼び出します。ルートが一致しない場合は False を返します。

さらに探索する

オンラインヘルプこのコンポーネントの完全な API リファレンスと使用ガイドです。
すべての sgcHTML コンポーネント60以上のコンポーネントの完全な機能マトリックスをご覧ください。
無料トライアルをダウンロード30日間のトライアルには60.HTMLデモプロジェクトが含まれています。
価格完全なソースコード付きのシングル、チーム、サイトライセンス。

始める準備はできましたか?

無料トライアルをダウンロードして、Delphi、C++ Builder、.NETでWebUIの構築を開始しましょう。