カスタムレンダリング
タイムラインはすべての行を同じように描きます:誰から、いつ、タイトル、数行にカットされたテキスト、そして添付ファイル。テーブルの行は自分なりに描き、書き換えることができる一方で、他のテーブルはタイムラインのものを保持します。
列
タイムライン内の MultiTableTemplate (React: templatesのエントリ)は、あるテーブルの行を自分なりに描きます。これは行のタイトル、テキスト、添付ファイルの代わりとなります。タイムラインはその行が誰からいつから来たか、編集 済みマーク、 ユーザーのアクセス許可による編集・削除を示し、あなたのやり方で描いた行は他の行と同様に変更・削除されます。
React
Blazor
<Timeline
templates={{
email: (item) => (
<>
<strong>{item.title}</strong> to {item.recipients?.map((x) => x.name).join(', ')}
</>
),
}}
/>
<Timeline>
<MultiTableTemplate Table="email" Context="item">
<strong>@item.Title</strong> to @string.Join(", ", item.Recipients.Select(x => x.Name))
</MultiTableTemplate>
</Timeline>
タイムラインが読み取った行は、その Title、 Body、 StartText (ユーザーの言語とタイムゾーンで書かれた日付)、 Owner と Recipients、そして Record(各カラムの読み取り値とそのフォーマット済みの価値)が与えられます。Reactでは、これらは title、 body、 startText、 owner、 recipients 、 recordです。
タイムラインは自分に表示する列を読み込みます。テンプレートが別の列を表示するには、以下のデモで電話の方向や番号、タスクのステータスを表示するように、ビューのFetchXML名を付けます。タイムラインはビューの列を自分の列と並べて読みます。ユーザーが読んでいない列は空のままです。
電話や自分のタスク
シュメラー&サンズのメモ、メッセージ、電話、タスク。電話はどの方向に、番号、いつ行ったかを示し、タスクは完了済みか、いつ期限かを示します。メモやメッセージはタイムライン独自の図面を保持します。
Reactの例
ブレイザーの例
React TypeScript
Razor
形態
CreatableTables(React: creatableTables)で名前のテーブルの行を作成できるユーザーは、タイムラインから新しい行を書き、アクセス権限で行を変更することができます。メモやポータルメッセージはその場に書き込まれます。別のテーブルの行は、その登録で表示されるタイトル、日付、人物、テキストの形で開きます。タイムライン内のMultiTableForm(React: formsのエントリ)は、自分専用のテーブル形式を提供します。行を作成するためのものと変更するためのものがあります。これはレコードの形式に表示される編集者の構成要素です。新しい行にはタイムラインが知っている部分が埋め込まれ、あるいは編集のために行全体を再度読み返す形です。
React
Blazor
<Timeline
creatableTables={['annotation', 'task']}
formLocation="center"
forms={{ task: { create: NewTaskForm, edit: TaskForm } }}
/>
// TaskForm:作成中のタスクに割り当てられたエディタ
function TaskForm() {
return (
<>
<ColumnEdit columnName="subject" />
<ColumnEdit columnName="scheduledend" />
<ColumnEdit columnName="prioritycode" />
<ColumnEdit columnName="description" />
</>
);
}
<Timeline CreatableTables="@(["annotation", "task"])" FormLocation="TimelineFormLocation.Center">
<MultiTableForm Table="task" CreateForm="typeof(NewTaskForm)" EditForm="typeof(TaskForm)" />
</Timeline>
@* TaskForm:作成中のタスクに割り当てられたエディタ *@
<ColumnEdit ColumnName="subject" />
<ColumnEdit ColumnName="scheduledend" />
<ColumnEdit ColumnName="prioritycode" />
<ColumnEdit ColumnName="description" />
FormLocation (React: formLocation)フォームがどこで開くかを示します:右側のサイドパネル(デフォルト)、左側、中央のダイアログ、 Inline — メモやメッセージが書かれているタイムラインの位置にあります。セーブは、どのレコードと同じテーブル、行、列のセキュリティを通過します。
より詳しい例として、ステータスや優先度を示すバッジ、呼ばれた人との電話連絡、実施場所のアポイントメントなど、タイム ラインカスタムレンダリングのデモをご覧ください。