newentry_form=
と editentry_form=
の設定を確認します。newentry_form=takashi editentry_form=takashi
# 「taskdialog」フォームから設定を引き継ぎます。 __inherits=taskdialog # このフォームの表示名です。(一般的な画面には表示されないので、適当な名前でOKです) display_name=#{@takashi#takashi_form_display_name} # フォーム上に表示する部品(入力欄・選択欄)の名前を指定します。 # この「部品」のことを「フィールド」と呼びます。 # 半角カンマ記号で区切って指定してください。 schema_elements=todo,title,project,content,tags,property_assigned,property_subscribed,attachments,priority,property_start,property_due,property_estimate,property_duration,color,property_edit_desc,takashi_type,takashi_location,takashi_category,property_takashi_subject,property_takashi_number,property_takashi_note,property_takashi_specialday,takashi_target # フォームの上部に表示されるタイトル form_title=#{@takashi#takashi_form_title} # フォームの HTML に埋め込まれるクラス名 # CSS や jQuery などを使って、このフォームの要素を特定できます。 form_class=task-form-dialog takashi-form-dialog fm-html # [送信] ボタンに表示される文字列 form_save=#{@takashi#takashi_form_save} # 初期値は field_フィールド名_value= を使って指定します。 # ここでは、タイトルに「takashi_title」トークン(ウィジェット)を埋め込みます。 # (ただし、タイトルのフィールド行は CSS で display:none になっており、表示されません) # トークンは、config/entry/tokens で定義されています。 field_title_value=[[ /token takashi_title ]] # フォームを表示した時のフォーカス(カーソルがあるフィールド)を指定します。 field_property_takashi_subject_focus=true # field_フィールド名_label= を使ってフィールドの見出しを上書き設定できます。 # 既定のフィールドの見出しは、各フィールドの定義ファイル (config/data/field/props/*.properties) の display_name= か、 # 対応するエントリー フィールド (config/entry/fields/props/*.properties) の display_name= で設定された # 値が反映されますが、このようにフォームの定義ファイル中で見出しの文字を変更できます。 field_content_label=#{@takashi#takashi_content_label} # タブ インデックス(TAB キーを押した時の、フォーカスの移動順)の設定 field_property_takashi_subject_tabindex=100 field_content_tabindex=101 field_tags_tabindex=102 field_attachments_tabindex=103 field_property_assigned_tabindex=104 field_priority_tabindex=105 field_property_subscribed_tabindex=106 field_property_estimate_tabindex=107 field_property_start_tabindex=108 field_property_duration_tabindex=109 field_property_due_tabindex=110 field_color_tabindex=111 field_property_takashi_specialday_tabindex=112 field_takashi_location_tabindex=113 field_property_takashi_number_tabindex=114 field_takashi_category_tabindex=115 field_takashi_type_tabindex=116 field_takashi_target_tabindex=117 field_property_takashi_note_tabindex=118 field_property_edit_desc_tabindex=119 # 入力必須設定 field_property_takashi_subject_required=true field_property_takashi_number_required=true field_takashi_category_required=true # このフォームのレイアウトに使う SDL ファイルや SDL 関数を指定します。 sdl=com.traction.takashi.sdl.gwtrpc.form # レイアウトを無効にするには、上の業をコメントアウトし、下の行のコメントアウトを解除してください。 # sdl = # このフォームを使って投稿したとき、ここで指定されたトークン(ウィジェット)を # 自動的に記事本文に埋め込むことができます。 entry_content_prepend=[[ /token takashi_info ]] #entry_content_append=[[ /token takashi_moreinfo ]] # このフォームを使って投稿される記事は次の EntryClass を持ちます。 entry_class=takashi
__inherits=taskdialog
の記述があり、これは「taskdialog という名前のフォーム定義から設定を引き継ぐ」という意味です。[[ /token takashi_title ]]
は、「takashi_title」という名前のトークンを挿入しなさい、という意味です。トークンとは「記事が表示されるときに動作する部品」のことです。例えば、ここでは「takashi_title」という「部品」を作り、岳タスク記事が表示されるとき、担当者名や日付などを自動的に記事タイトル表示するような動作を実現します。
sdl=
行の値(右辺)を空にすると、SDL ファイルによるデザインが無効になり、指定された部品をフォーム上に並べただけのデザインになります。[[ /token takashi_info ]]
は、「takashi_info」というウィジェットを埋め込みなさい、という意味です。schema_elements=
でフォームに配置する部品を指定しました。form_definition.png
formfield_definitions_takashi.png