Send to your Kindle RIGHT:[[:t/要素]] [[:t/UI]] [[プロトタイピング/03]]でやったように、入力フォームも要素として実装。 他の要素と組み合わせて使えば、利用者がその要素のパラメーターを決められるようになる。 ***%%フォームはどこ%% [#w276961c] %%フォームはページ/型が「フォーム」のページ。%% %%そこに書いたUI要素がUI化する。フォームコンテキストでの展開。%% %%ページ/型はページ全体を1つの要素に与えるようなもの。これで要素がネストする(<form>の中に<input>があるような)のと同じことになる。%% ***%%ページ/型が違うと?%% [#m99bb87b] %%UI要素を別の型のページに置くと、コンテキストが変わる。要素は異なる反応をする。要素次第。%% %%でもコンテキストはHTMLコンテキストでいいかも。分ける必要なし。ただページがフォーム役になるので、ページ/型は分ける必要あり。内容を<form></form>で囲って出力するページ/型。%% ***リクエストが利用されるまで [#vb6d070e] 送り先は1つ。デフォルトではWiki。よそのサイトを指定できればREST APIは呼べる。UI要素の中でも特にformを表す要素で送り先指定。 クエリーはUI要素%%とページ%%が作る。受け側はUI要素自身(だけ)。要素は自分から自分に宛てたクエリーパラメーターだけを解釈して情報保持。その後のページ/要素間連携で、受けるべき要素にUI要素の情報が届く。他の要素がクエリーパラメーターを加工したりしない。 UI要素の上位には入力を受けるべき要素を置いておく。検索結果一覧を作る要素の「検索ワード」部分をUI要素にするといったようにUI要素を他要素のパラメーターにする。 ***書き方 [#d4119377] 要素の書き方そのまま。汎用記法で書くだけ。 検索欄(UI要素使用) &search(&form(&textbox(検索キーワードのデフォルト値))) 参考: 検索結果だけのUI要素無し &search(検索キーワード) ***%%どこで使うか%% [#adefb344] %%編集UI(クライアント側でエディターを呼び出すもの)をこれで。フォームの前後に何か付け足すなら、要素追加かテンプレートか何かで。%% %%検索(小)もこれで。%% %%自分でHTML型ページに.jsを組み込む方法もある。それよりUI要素のほうが簡単でなければ意味なし。%% %%UI生成までにサービス側のコードを要すならUI要素しかない。%% %%どちらも利用するときは埋め込みで。管理者が埋め込まれるページをパラメーター指定して作り、他の利用者はそれを埋め込むだけ。パラメーター指定をするのは管理者。%% ***%%継承%% [#wd3efcd8] %%ページ/型は属性なので継承可能。%% %%ページを1つ作って、その下位ページをすべてフォームにすることができる。%% %%権限も属性なので、編集制限と抱き合わせにして下位ページに継承できる。%% RIGHT:[[:t/要素]] [[:t/UI]] [[プロトタイピング/03]]でやったように、入力フォームも要素として実装。 他の要素と組み合わせて使えば、利用者がその要素のパラメーターを決められるようになる。 ***%%フォームはどこ%% [#w276961c] %%フォームはページ/型が「フォーム」のページ。%% %%そこに書いたUI要素がUI化する。フォームコンテキストでの展開。%% %%ページ/型はページ全体を1つの要素に与えるようなもの。これで要素がネストする(<form>の中に<input>があるような)のと同じことになる。%% ***%%ページ/型が違うと?%% [#m99bb87b] %%UI要素を別の型のページに置くと、コンテキストが変わる。要素は異なる反応をする。要素次第。%% %%でもコンテキストはHTMLコンテキストでいいかも。分ける必要なし。ただページがフォーム役になるので、ページ/型は分ける必要あり。内容を<form></form>で囲って出力するページ/型。%% ***リクエストが利用されるまで [#vb6d070e] 送り先は1つ。デフォルトではWiki。よそのサイトを指定できればREST APIは呼べる。UI要素の中でも特にformを表す要素で送り先指定。 クエリーはUI要素%%とページ%%が作る。受け側はUI要素自身(だけ)。要素は自分から自分に宛てたクエリーパラメーターだけを解釈して情報保持。その後のページ/要素間連携で、受けるべき要素にUI要素の情報が届く。他の要素がクエリーパラメーターを加工したりしない。 UI要素の上位には入力を受けるべき要素を置いておく。検索結果一覧を作る要素の「検索ワード」部分をUI要素にするといったようにUI要素を他要素のパラメーターにする。 ***書き方 [#d4119377] 要素の書き方そのまま。汎用記法で書くだけ。 検索欄(UI要素使用) &search(&form(&textbox(検索キーワードのデフォルト値))) 参考: 検索結果だけのUI要素無し &search(検索キーワード) ***%%どこで使うか%% [#adefb344] %%編集UI(クライアント側でエディターを呼び出すもの)をこれで。フォームの前後に何か付け足すなら、要素追加かテンプレートか何かで。%% %%検索(小)もこれで。%% %%自分でHTML型ページに.jsを組み込む方法もある。それよりUI要素のほうが簡単でなければ意味なし。%% %%UI生成までにサービス側のコードを要すならUI要素しかない。%% %%どちらも利用するときは埋め込みで。管理者が埋め込まれるページをパラメーター指定して作り、他の利用者はそれを埋め込むだけ。パラメーター指定をするのは管理者。%% ***%%継承%% [#wd3efcd8] %%ページ/型は属性なので継承可能。%% %%ページを1つ作って、その下位ページをすべてフォームにすることができる。%% %%権限も属性なので、編集制限と抱き合わせにして下位ページに継承できる。%%