события fullcalendar не отображаются после следующего - PullRequest
0 голосов
/ 02 февраля 2019

Я пытаюсь заменить мой старый календарь (DHX) на полный календарь.

Я использую демонстрационный код, и мне удалось отобразить мои события JSON.

Проблема, которая у меня естьэто когда я нажимаю СЛЕДУЮЩИЙ или PEV.Я не вижу других событий.

Я загружаю все события 2019 в одном кадре для отображения следующих событий.

HTML:

    <!DOCTYPE html>
<html ng-app="myApp">
<head>
<title>FTS Team</title>
<script type="text/javascript" src="lib/angular.js"></script>
<script type="text/javascript" src="lib/angular-resource.js"></script>

<script src="calendarv2.js"></script>

<link rel="stylesheet" href="http://angular-ui.github.io/ui-calendar/bower_components/bootstrap-css/css/bootstrap.css">
<link rel="stylesheet" href="lib/bootstrap/css/bootstrap-theme.min.css">
<script src="lib/jquery-1.11.1.min.js"></script>
<script src="lib/bootstrap/js/bootstrap.min.js"></script>

<!-- For Calendar -->
<script src="http://angular-ui.github.io/ui-calendar/bower_components/moment/moment.js"></script>
<script src="http://angular-ui.github.io/ui-calendar/bower_components/fullcalendar/dist/fullcalendar.js"></script>
<script src="http://angular-ui.github.io/ui-calendar/bower_components/fullcalendar/dist/gcal.js"></script>      
<script src="http://angular-ui.github.io/ui-calendar/src/calendar.js"></script>

<link rel="stylesheet" href="http://angular-ui.github.io/ui-calendar/bower_components/fullcalendar/dist/fullcalendar.css">  

<!-- For Modal Windows -->
<script src="lib/bootstrap/js/ui-bootstrap-tpls-0.11.0.js"></script>    
</head>

<body ng-controller="myCtrl">
    <div ui-calendar="uiConfig.calendar" class="span12 calendar" ng-model="eventSources"></div> 
</body>
</html>

JSэто:

var app = angular.module('myApp', ['ui.calendar', 'ui.bootstrap']);

app.controller('myCtrl', function ($scope, $http, $compile, uiCalendarConfig) 
{

    var date = new Date();
    var d = date.getDate();
    var m = date.getMonth();
    var y = date.getFullYear();


    /* event source that contains custom events on the scope */
    $scope.events = [{title: 'All Day Event',start: new Date(y, m, 1)}];

    $http.get('rest/event/').success(function(data) {
            $scope.myEvents = data;

            data.forEach(function(entry) {
                var d1 = new Date(entry["dateB"]);
                var d2 = new Date(entry["dateE"]);

                var myEvent = {title: entry["title"],start: d1, end: d2, allDay: true};
                if ( d1.getFullYear() >= 2019 ) { 
                    $scope.events.push(myEvent);
                }

        });

    });


    /* alert on eventClick */
    $scope.alertOnEventClick = function( date, jsEvent, view){
        $scope.alertMessage = (date.title + ' was clicked ');
        alert(date.title + ' was clicked ');
    };
    /* alert on Drop */
     $scope.alertOnDrop = function(event, delta, revertFunc, jsEvent, ui, view){
       $scope.alertMessage = ('Event Droped to make dayDelta ' + delta);
    };
    /* alert on Resize */
    $scope.alertOnResize = function(event, delta, revertFunc, jsEvent, ui, view ){
       $scope.alertMessage = ('Event Resized to make dayDelta ' + delta);
    };

    /* Change View */
    $scope.changeView = function(view,calendar) {
        alert("change View");
      uiCalendarConfig.calendars[calendar].fullCalendar('changeView',view);
    };

    /* Change View */
    $scope.renderCalender = function(calendar) {
    alert("change View render");
      if(uiCalendarConfig.calendars[calendar]){
        uiCalendarConfig.calendars[calendar].fullCalendar('render');
      }
    };

     /* Render Tooltip */
    $scope.eventRender = function( event, element, view ) { 
        element.attr({'tooltip': event.title,'tooltip-append-to-body': true});
        $compile(element)($scope);

    };


    /* config object */
    $scope.uiConfig = {
      calendar:{
        height: 600,
        editable: false,
        weekends: true,
        defaultView: 'month',
        lazyFetching: 'false',
        displayEventTime: false,
        header:{
          left: 'title',
          center: '',
          right: 'today prev,next'
        },
        eventClick: $scope.alertOnEventClick,
        eventDrop: $scope.alertOnDrop,
        eventResize: $scope.alertOnResize,
        eventRender: $scope.eventRender
      }
    };


    /* event sources array*/
        $scope.eventSources = [$scope.events];

});

Могли бы вы понять, что мне не хватает?

спасибо, Николас

1 Ответ

0 голосов
/ 02 февраля 2019

У меня была та же проблема, и я уничтожил вызывающего, а затем воссоздал его для следующего и предыдущего события и его работы для меня!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...