2010-12-08 28 views
0

私は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"}]

答えて

0

音:: http://code.google.com/p/fullcalendar/issues/detail?id=510

私はあなたのmodは望ましくないが発生しますとは思わない、私は表示されなければならない何のためのJSONの結果を持っている以下

2つのイベントが2つ目の行に折り返されている場合には、同じ順序で残り続けることが保証されます。防弾ソリューションは、ある時点でその問題に遭遇することを期待して、かなりの作業を必要とします。

関連する問題