鈍足ランナーのIT日記

走るのが好きな5流のITエンジニアのブログ。

趣味の範囲は広いけど、どれも中途半端なクソブロガー楽しめるWebアプリを作ってあっと言わせたい。サーバーサイドPerl(Mojolicious)、クライアントサイドVue.js。Arduinoにも触手を伸ばす予定。

priv nextの遷移でFullcalenderのイベントが2倍に増殖してしまう。

昨日の続き。月を遷移させてちゃんと表示されるか試してみたくなったけれど うまく動かない。Backboneを無理やり使う必要ないかな。 何回もajaxアクセスが裏で走ってしまうが、原因よくわからない。 難しいなぁ。挫折しそうだ。

$(function(){
    var Event = Backbone.Model.extend();
 
    var Events = Backbone.Collection.extend({
        model: Event,
        url: 'records'
    });
 
    var EventsView = Backbone.View.extend({
        initialize: function(){
//            _.bindAll(this);
 
            this.collection.bind('reset', this.addAll,this);
        },
        render: function() {
            $(this.el).fullCalendar({
                header: {
                    left: 'prev,next today',
                    center: 'title',
                    right: 'month,basicWeek,basicDay',
                    ignoreTimezone: false
                },
                selectable: true,
                selectHelper: true,
                editable: true,
                viewDisplay: this.viewDisplay
            });
        },
        addAll: function(){
            $(this.el).fullCalendar('removeEventSource',this.collection);
            $(this.el).fullCalendar('addEventSource', events);
        },
        viewDisplay: function(view){
            events.fetch({reset:true, data:{start:view.start,end:view.end}});
        }
        
    });
 
    var events = new Events();
    new EventsView({el: $("#calendar"), collection: events}).render();
//    events.fetch({reset:true, data:{page:3}});
});