2017-01-02 5 views
1

は、これは私が含まれている場合、私は何もデータが移入されていないのデータのロードを動的に

$scope.uiConfig.calendar.events = data; 

を削除した場合、私のカレンダーオブジェクト

$scope.uiConfig = { 
      calendar: { 
       height: 450, 
       editable: false, 
       header: { 
        left: 'title', 
        center: '', 
        right: 'today prev,next' 
       }, 
       eventClick: $scope.onEventClick, 
       eventDrop: $scope.alertOnDrop, 
       eventResize: $scope.alertOnResize, 
       eventRender: $scope.eventRender, 
       dayClick: $scope.onDayClick, 
       viewRender: $scope.getData 
      } 
     }; 

 $scope.getData = function(view, element){ 
      $scope.intervalStartDate = new Date(view.start); 
      $scope.intervalEndDate = new Date(view.end); 

     $scope.managedEvents = Event.getFittingsForDateInterval({ 
      intervalStartDate : convertDate($scope.intervalStartDate), 
      intervalEndDate : convertDate($scope.intervalEndDate) 
     }); 

$scope.managedEvents.$promise.then(function(data){ 
    $scope.uiConfig.calendar.events = data; 
}); 

    } 

です現在の月データを更新して読み込み中です。

は、1月のデータを初めて読み込んでいます。次の月のアイコンをクリックするたびに、2月のデータを呼び出しています。カレンダーは現在の月にリセットされています($ scope.getDataを再度呼び出しています)。

data = [{start : some_date, end : some_date, title : event_name},{start : some_date, end : some_date, title : event_name},{start : some_date, end : some_date, title : event_name},{start : some_date, end : some_date, title : event_name},{start : some_date, end : some_date, title : event_name}]; 

私は一度にすべてではなく、現在のビューのみのデータを取得したいと考えています。 ご協力いただければ幸いです。

+0

あなたは、同じのフィドルを提供することができ、容易 – Vish

+0

I更新質問@Vish –

+0

わかりましたので、私は私が正しく理解している場合は、あなたがデータは現在のためにフェッチするすることを確認しましょうビュー(それは日、週または月であるかもしれません)、As、ビューのいずれかの次のボタンをクリックすると、そのビューのデータが必要です。 – Vish

答えて

1

Controller.jsコード:。エラーを追跡できるように

$scope.getEvents = function(){ 
      var obj = {}; 
      $scope.events = []; 
      obj.startDate = new Date($scope.myView.intervalStart).getTime(); 
      obj.endDate = new Date($scope.myView.intervalEnd).getTime(); 

     if($scope.myView.name == "month"){ 
      obj.endDate = obj.endDate - 19801000; 
     } 
     //Give a call to database from here, in which obj contains 
     // start and end of the view 

     var getEventsPromise = masterCalendarAPI.getEvents(obj); 
     getEventsPromise.then(function (response) { 
      if(response.statusCode == 200){ 
       //Assign $scope.event the list object retrieved from database 
      } 
     }, 
     function (error) { 
      console.log(error); 
     }); 
    } 

//Remember this method will be called on each view change with all details in 'view' object 
    $scope.renderView = function (view) { 
      $scope.myView = view; 
      $scope.getEvents(); 
     } 

    $scope.uiConfig = { 
       calendar: { 
        height: 500, 
        editable: false, 
        header: { 
         left: 'prev,next title', 
         center: '', 
         right: 'month,agendaWeek,agendaDay' 
        }, 
        eventLimit: true, 
        views: { 
         month: { 
          eventLimit:3 
         } 
         }, 
        columnFormat:'dddd', 
        timezone: 'local', 
        timeFormat: 'hh:mm a', 
        titleFormat:'MMMM D, YYYY', 
        slotDuration:'00:30:00', 
        eventRender:$scope.eventRender, 
        eventClick: $scope.eventClicked, 
        dayClick: $scope.dayClick, 
        eventDrop: $scope.alertOnDrop, 
        eventResize: $scope.alertOnResize, 
        viewRender: $scope.renderView 
       } 
      } ; 
//event sources array 
    $scope.eventSources = [$scope.events]; 
+0

// Assign $ scope.eventデータベース $データ//データをデータベース から返されたが、Plzをあなたの試料溶液は私にあなたが質問 –

+0

にロードされていない= scope.managedEventsあなたは私にフィドルやプランカを提供する、私はあなたの問題を簡単に解決することができます..! :) –

+0

共有カレンダー – Vish

関連する問題