私はFullCalendarを使用してOn-Callカレンダーを管理するアプリケーションを開発しています。ほとんどのイベントは、火曜日の午前8時から始まり、次の火曜日の午前8時に終了する、1週間の長さです。他のイベント、おそらくは別の人がそのイベントに従います。今週の週イベントを表示するFullCalendarイベント
廊下のユーザビリティテストでは、先週のイベントがスタックの一番上になく、その週に開始するイベントの下にレンダリングされるため、カレンダーの表示が読みにくいとの意見がありました。目に見えるとき、目は、次の週に移動するのではなく、先週のイベントがそこにあるので、残りのタイムラインを見るために1行下がるべきであると認識します。
私は私が問題になると信じるものを調査:
function segCmp(a, b) {
return (b.msLength - a.msLength) * 100 + (a.event.start - b.event.start);
}
は、行のイベントをソートしますが、計算では、イベントの長さを使用しています。今週のイベントは期間が長くなるため、常にトップにソートされます。テストするために、開始日を水曜日に変更したので、期間が近くなりました。これにより、イベントは、私が予想していたように、過去数週間のイベントがトップに、今週が最後に表示されます。
私は、比較のイベントの1つがその週を開始しない場合、開始時間に基づいて比較する必要があると考えました。私はする機能を修正:これは私の問題を解決し
function segCmp(a, b) {
if (a.isStart == false || b.isStart == false) {
return (a.event.start - b.event.start);
}
return (b.msLength - a.msLength) * 100 + (a.event.start - b.event.start);
}
、およびレンダリングは現在、よさそうだ - と廊下の試験に合格します。これが他の分野に影響を与えるかどうかわかりません。私は他のビュー(月、週、日)を見てきました。それらはすべて適切にレンダリングされているようです。私はFullCalendarに慣れていないので、これに関するバグや機能のリクエストを提出するだけでも、あるいはこれがバグと見なされる場合もあります。
私が修正したものが正しいのか、それとも改善の余地がないのかが疑問です。
ありがとうございます!あなたはこの問題を解決しようとしているよう
[{"title":"Person 1 - OnCall (OSS On Call)","id":12,"allDay":false,"start":"2010-11-30T15:00:00.0000000Z","end":"2010-12-07T15:00:00.0000000Z","editable":false,"className":"fc-event-title-calendar","url":"/TimeManagement/Edit/12"},
{"title":"Person 2 - OnCall (OSS On Call)","id":13,"allDay":false,"start":"2010-12-07T15:00:00.0000000Z","end":"2010-12-14T15:00:00.0000000Z","editable":false,"className":"fc-event-title-calendar","url":"/TimeManagement/Edit/13"},
{"title":"Person 3 - OnCall (OSS On Call)","id":14,"allDay":false,"start":"2010-12-14T15:00:00.0000000Z","end":"2010-12-21T15:00:00.0000000Z","editable":false,"className":"fc-event-title-calendar","url":"/TimeManagement/Edit/14"},
{"title":"Person 4 - OnCall (OSS On Call)","id":15,"allDay":false,"start":"2010-12-21T15:00:00.0000000Z","end":"2010-12-28T15:00:00.0000000Z","editable":false,"className":"fc-event-title-calendar","url":"/TimeManagement/Edit/15"},
{"title":"Person 5 - OnCall (OSS On Call)","id":16,"allDay":false,"start":"2010-12-28T15:00:00.0000000Z","end":"2011-01-04T15:00:00.0000000Z","editable":false,"className":"fc-event-title-calendar","url":"/TimeManagement/Edit/16"},
{"title":"Person 6 - OnCall (OSS On Call)","id":17,"allDay":false,"start":"2011-01-04T15:00:00.0000000Z","end":"2011-01-11T15:00:00.0000000Z","editable":false,"className":"fc-event-title-calendar","url":"/TimeManagement/Edit/17"},
{"title":"Christmas","id":2,"allDay":true,"start":"2010-12-25T07:00:00.0000000Z","end":null,"editable":false,"className":"fc-event-title-calendar","url":"/TimeManagement/Edit/2"},
{"title":"New Years Eve","id":3,"allDay":true,"start":"2010-12-31T07:00:00.0000000Z","end":null,"editable":false,"className":"fc-event-title-calendar","url":"/TimeManagement/Edit/3"},
{"title":"New Years Day","id":4,"allDay":true,"start":"2011-01-01T07:00:00.0000000Z","end":null,"editable":false,"className":"fc-event-title-calendar","url":"/TimeManagement/Edit/4"}]