2017-01-02 1 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

// 할당 된 $ scope.event에서 할당 된 목록 개체 데이터베이스 $ 데이터 // 데이터가 데이터베이스 에서 반환하지만 Plz은 샘플 솔루션은 나에게 당신이 질문 –

+0

에로드되지 않는다 = scope.managedEvents 당신은 나에게 바이올린이나 플 런커를 제공합니다, 나는 당신의 문제를 쉽게 풀 수 있습니다 .. !! :) –

+0

공유 일정 – Vish