Как отображать элементы без перекрытия?Javascript

Форум по Javascript
Ответить
Anonymous
 Как отображать элементы без перекрытия?

Сообщение Anonymous »

Я пытаюсь создать диаграмму резервирования с помощью ChartJs в реакции.

Код: Выделить всё

const scheduleData = {
data: [
{
name: "testNameA",
title: "a teatment",
start: new Date(2025, 0, 1, 9, 0, 0),
end: new Date(2025, 0, 1, 10, 0, 0),
},
{
name: "testNameB",
title: "b teatment",
start: new Date(2025, 0, 1, 9, 0, 0),
end: new Date(2025, 0, 1, 10, 0, 0),
},
{
name: "testNameC",
title: "c teatment",
start: new Date(2025, 0, 1, 10, 0, 0),
end: new Date(2025, 0, 1, 11, 0, 0),
},
{
name: "testNameD",
title: "d teatment",
start: new Date(2025, 0, 1, 11, 0, 0),
end: new Date(2025, 0, 1, 12, 0, 0),
},
{
name: "testNameE",
title: "e teatment",
start: new Date(2025, 0, 1, 14, 0, 0),
end: new Date(2025, 0, 1, 15, 0, 0),
},
{
name: "testNameF",
title: "f teatment",
start: new Date(2025, 0, 2, 9, 0, 0),
end: new Date(2025, 0, 2, 10, 0, 0),
},
{
name: "testNameG",
title: "g teatment",
start: new Date(2025, 0, 3, 9, 0, 0),
end: new Date(2025, 0, 3, 10, 0, 0),
},
],

openTime: 9,
closeTime: 19,
};

Код: Выделить всё

                    data: scheduleData.data.map((schedule) => {
return {
x:
dayNames[Number(moment(schedule.start).format("d"))] +
schedule.start.getDate(),
y: [
moment(schedule.start).hour(),
moment(schedule.end).hour(),
],
title: schedule.title,
name: schedule.name,
};
}),
как вы можете видеть, значение x соответствует дате начала, значение y соответствует значению часа начала и конца.
если я создаю гистограмму при этом происходит следующее.
Изображение

testNameA, testNameB имеет то же значение даты начала. поэтому кажется, что элементы панели перекрываются.
Я хочу реализовать, если у вас одна и та же дата начала, сделать все элементы видимыми в одном и том же положении без перекрытия.вот так.
Изображение

И если у вас нет нескольких элементов с то же значение даты, я хочу, чтобы оно выглядело как предыдущее изображение.
Я пробовал использовать несколько наборов данных, но получаю вот такой результат
Изображение

как отображать элементы без перекрытия в ChartJs?

Подробнее здесь: https://stackoverflow.com/questions/793 ... verlapping
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»