Необходимо добавить функциональность часового пояса в моем проекте с полным календарем - PullRequest
0 голосов
/ 18 октября 2019

Мне нужно реализовать функциональность часового пояса в моем проекте. Я уже использую Полный календарь на своей странице Visual Force. Я передаю eventsList в качестве входных данных для атрибута событий, который я получаю с сервера (Apex). Это работает только когда я меняю список выбора с локального на UTC и наоборот. Но это не изменится ни для каких других значений часового пояса. Если я задаю полный календарь JSON по умолчанию, то есть - "https://fullcalendar.io/demo-events.json" для атрибута событий. Он работает, как ожидается, для всех часовых поясов.

    $('#calendar').fullCalendar({
        header: {
            left: 'prev,next today',
            center: 'title',
            right: 'month,agendaWeek,agendaDay,listWeek'
        },
        navLinks: true, // can click day/week names to navigate views
        editable: true,
        selectable: true,
        eventLimit: true, // allow "more" link when too many events
        events: eventsList,
        loading: function(bool) {
            $('#loading').toggle(bool);
        },
        eventRender: function(event, el) {
            console.log('eventRender');
            // render the timezone offset below the event title
            if (event.start.hasZone()) {
                console.log('hasZone');
                el.find('.fc-title').after(
                    $('<div class="tzo"/>').text(event.start.format('Z'))
                );
            }
        },


        }
    });

    // load the list of available timezones, build the <select> options
    $.getJSON('https://fullcalendar.io/demo-timezones.json', function(timezones) {
        $.each(timezones, function(i, timezone) {
            if (timezone != 'UTC') { // UTC is already in the list
                $('#timezone-selector').append(
                    $("<option/>").text(timezone).attr('value', timezone)
                );
            }
        });
    });       


    // when the timezone selector changes, dynamically change the calendar option
    $('#timezone-selector').on('change', function() {
        $('#calendar').fullCalendar('option', 'timezone', this.value || false);
    });

Ниже приведена структура моего списка событий:

[{"id": "a014P00001vV9BHQA0", "title": "Часовой пояс нового события1", "start": "2019-09-17T04: 00: 00Z", "end": "2019-09-17T05: 45: 00Z "," locTZStart ":" 17.09.2009, 00:00 "," locTZEnd ":" 17.09.2009, 01:45 "," url ":" / apex / EventForm? Id= a014P00001vV9BHQA0" , "редактируемые" ложь "durationEditable": правда, "startEditable": правда, "имя класса": "нуль", "isParked" ложь "IsDeleted" ложь "isNew": "ложь","PresenterCount": 0, "roomBooked": "false", "roomName": "", "typeOfEvent": "Agenda"}]

...