Полный календарь: minTime неверно вычисляет fc-not-start - PullRequest
1 голос
/ 11 июля 2019

Я использую библиотеку Fullcalendar, модуль планировщика.

Я использую свойства minTime и задаю для него значение: '06: 00: 00 'внутри определения представления (чтобы «день не начинался с полуночи»)).

Но когда это так, элементы календаря, которые начинаются до 6 ч, имеют класс fc-not-start, даже если они находятся в середине календаря ...

Как с этим справиться?

РЕДАКТИРОВАТЬ:

Некоторая дополнительная информация:

Полная версия календаря: v3.9.0

fc-not-start: этот класс должен иметь элементы календаря (запланированные), которые не являютсяначалось с этой точки зрения.(Начало невидимо).Это необходимо, потому что, если элемент имеет закругленные углы, границу, ... его не должно быть с левой стороны, если начало не видно.(Или если вы хотите отобразить значок, который вы не смотрите на полный элемент)

Пример: внутри красного квадрата это правильное использование fc-not-start

enter image description here

Это неправильное использование fc-not-start

enter image description here

fc-not-start должно вычисляться внутри себябиблиотека fullcalendar и она работает, пока я не добавлю параметр minTime в поле зрения.

EDIT 2:

Я создаю минимальный код, чтобы увидеть проблему

HTML

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Demo</title>
    <link rel='stylesheet' href='css/fullcalendar.css' />
    <link rel='stylesheet' href='css/scheduler.css' />
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
    <link rel='stylesheet' href='css/style.css' />
    <link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>

    <div id='calendar'></div>



    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.0.0/jquery.min.js"></script>
    <script src='js/moment.js'></script>
    <script src='js/fullcalendar.js'></script>
    <script src='js/scheduler.js'></script>
    <script src='js/my_script.js'></script>

    <script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
    <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>




</body>
</html>

JS

var resources = [
    {
        id: 'A',
        title: 'A',
        sortOrder: 1
    },
    {
        id: 'B',
        title: 'B',
        sortOrder:2
    },
    {
        id: 'C',
        title: 'C',
        sortOrder:3
    }
];


$('#calendar').fullCalendar({


    // height: 550,
    // eventColor: '#428bca',

    schedulerLicenseKey: 'CC-Attribution-NonCommercial-NoDerivatives',
    defaultView: 'timelineFourDays',

    views: {
        timelineFourDays: {
            type: 'timeline',
            minTime: '07:00:00',
            duration: { days: 4 }
        },
    },

    resources: resourcesFunc,



    nowIndicator: true,




    events: [
        {
            id: '1',
            resourceId: 'A',
            title: 'Meeting',
            start: '2019-07-13T00:20:00',
            end: '2019-07-14T02:20:00',
        },

        {
            id: '2',
            resourceId: 'A',
            title: 'Meeting2',
            start: '2019-07-13T00:20:00',
            end: '2019-07-14T02:20:00',
        }


    ],
    displayEventTime: true,


});


function resourcesFunc(callback) {
    callback(resources);
}

enter image description here

Символ <должен быть только в том случае, если элемент не полностью виден на экране.В этом случае этот класс ошибочно рассчитан ... </p>

https://jsfiddle.net/Ly9rsoc1/2/

1 Ответ

0 голосов
/ 12 июля 2019

Вы сказали

«Символ <должен быть только в том случае, если элемент не целиком виден на экране» </p>

Однако: Ваши события начинаются до указанного minTimeзначение.Это означает, что начальная точка события никогда не будет видна в вашем календаре.Поэтому отображается значок <.

Я думаю, вы неправильно поняли природу этой функции.Речь идет не о том, видим ли начало элемента HTML , а о том, является ли видимым начало события (которое представлено этим элементом HTML).А поскольку вы удалили некоторые моменты, охватываемые этим событием, с вашего дисплея, он отображает значок, чтобы этот факт был понятен пользователю.

В заключение: календарь ведет себя именно так, как и должен.Здесь нет никаких ошибок.


В качестве отступления, я хотел бы отметить, что если у вас обычно есть события, которые охватывают это время дня, то, по моему мнению, это не очень логично или не очень удобно для пользователя.сделать эти времена невидимыми, потому что это скрывает то, что может быть полезной информацией.Но если эти конкретные события являются аномалией, и большинство ваших событий происходят после 7 часов утра, то вам, возможно, придется просто терпеть их как необычный случай.

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