2012-04-24 65 views
2

私のプロジェクトではFullcalendar(http://arshaw.com/fullcalendar)を使用しています。 jsonソースからイベントを取得します。Javascript Fullcalendar - イベントのコピー

カレンダーの1つのイベントを他の日にコピーするオプションをユーザーに与えたいと思っています。そのためにドラッグを使用したいと思います(クライアントの要件です)。

ドラッグすると、イベントを移動するように見えますが、コピーしない - イベントの「コピー」をドラッグする(またはコピーを元の場所に置く)方法はありますか?

eventDragStartコールバックでイベントオブジェクトをコピーしようとしましたが、動作しませんでした。

+1

IMOこのスレッド内の最後のコメントはあなたの出発点http://code.google.com/p/fullcalendar/issues/detailを与えることができます?id = 105 –

+0

これをどうにかして実現すれば。ドラッグ機能が失われます。それはあなたに受け入れられますか? –

+0

はい、私はコピーするだけで、周りのイベントを移動する必要はありません... – kender

答えて

1

はこれを試してみてください:

eventDrop: function(event, dayDelta, minuteDelta, allDay, revertFunc, jsEvent, ui, view) { 
    // Create an event object and copy at least the start date and the title from event 
    var eventClone = { 
     title:event.title, 
     start: event.start, 
     end: event.end 
    }; 

    // Render new event with new event object 
    $('#calendar').fullCalendar('renderEvent', eventClone); 

    // Revert the changes in parent event. To move it back to original position 
    revertFunc(); 
} 

これは単なるアイデアです。私はこのコードをテストしていません。どのように動作するか教えてください。 ありがとう

+0

[クローンメソッド]を使用する必要があります(http://stackoverflow.com/questions/122102/what-is-the-most-efficient -way-to-clone-a-javascript-object)を使用して、開始日と終了日の詳細コピーを作成します。しかし、イベントオブジェクト全体をクローンしないでください。問題を引き起こす可能性のある_id(各イベントにfullCalendarによって割り当てられたID)が含まれているためです。 –

5

以下は、イベントをコピーするためにShiftキーを押したままにすることができる私のソリューションです。 これは、実際に元のイベントを移動していて、コピーを元の位置に残していることに注意してください。

私はthis referenceで開始し、次のように作成しました:

//Before the fullCalendar object 

    var copyKey = false; 
    $(document).keydown(function (e) { 
     copyKey = e.shiftKey; 
    }).keyup(function() { 
     copyKey = false; 
    }); 

//then inside the fullCalendar object 

    eventDragStart: function (event, jsEvent, ui, view) { 
     if (!copyKey) return; 
     var eClone = { 
      title: event.title, 
      start: event.start, 
      end: event.end 
     }; 
     $('#calendar').fullCalendar('renderEvent', eClone); 
    }, 
+0

これを試してみたい – HPWD

関連する問題