๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
IT/JavaScript โ–ช JQuery

[FullCalendar] ํ’€์บ˜๋ฆฐ๋” ์ฐจ๊ทผ์ฐจ๊ทผ ๋‹ฌ๋ ฅ ์ƒ์„ฑ2 (๋ชจ๋ฐ”์ผ ํ„ฐ์น˜ ์•ˆ๋จ ํ•ด๊ฒฐ)

by YeonBu 2024. 2. 13.
728x90

 

 

* ์บ˜๋ฆฐ๋” ์ƒ์„ฑ์€ ์ „ ํฌ์ŠคํŒ… ์ฐธ๊ณ 

 

[FullCalendar] ํ’€์บ˜๋ฆฐ๋” ์ฐจ๊ทผ์ฐจ๊ทผ ๋‹ฌ๋ ฅ ์ƒ์„ฑ1 (์ฃผ๋ง ์ƒ‰ ๋ณ€๊ฒฝ / ์‹œ๊ฐ„ ํ‘œ์‹œ ์ œ๊ฑฐ)

* ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ * FullCalendar๋Š” cdn ์‚ฌ์šฉ * DB๋Š” Firebase ์‚ฌ์šฉ * FullCalendar ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฌธ์„œ ์ฐธ๊ณ  Event Parsing - Docs | FullCalendar When you give your calendar event data, whether it’s through an array, a json feed, or the addEven

yb-dev-archive.tistory.com

 

 



1. ๋ชจ๋ฐ”์ผ๋ฒ„์ „ ๋†’์ด ์„ค์ •

 

์•„๋‹ˆ, ใ… 

์›น์—์„œ ์ž˜ ๋™์ž‘ํ•ด์„œ ๋„ˆ๋ฌด ์ข‹์•˜๋Š”๋ฐ...

๋ชจ๋ฐ”์ผ๋กœ ์‹คํ–‰ํ•˜๋‹ˆ ์ด๊ฒƒ์ €๊ฒƒ ๋ฌธ์ œ๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์•˜๋‹ค.

 

 

์šฐ์„  ์ž˜๋ฆฐ ์บ˜๋ฆฐ๋”...

contentHeight ์†์„ฑ์„ ์ด์šฉํ•ด์„œ ๋Š˜๋ฆด ์ˆ˜ ์žˆ๋Š”๋ฐ ๋‚˜๋Š” ๊ทธ๋ƒฅ css๋ฅผ ๊ฑด๋“œ๋ ธ๋‹ค.

(๊ฑด๋“œ๋ฆฌ๋Š” ๊น€์— ๋…„๋„,์›” ๋ถ€๋ถ„ ๊ธ€์žํฌ๊ธฐ๋„ ์ค„์ž„)

 

@media (max-width: 768px) {
    .fc-view-harness,
    .fc-view-harness-active {
        height: 500px !important;
    }
    .fc-toolbar-title {
        font-size: 24px !important;
    }
}

 

 


 

 

2. ๋ชจ๋ฐ”์ผ ํ„ฐ์น˜ ์•ˆ๋จ

์ œ์ผ ํฐ ๋ฌธ์ œ๋Š” ์›น์—์„œ๋Š” ์ž˜ ๋˜๋˜ ์ผ์ • ์ถ”๊ฐ€๊ฐ€ ์•ˆ๋˜๋Š” ๊ฒƒ...

๋ชจ๋ฐ”์ผ์—์„œ๋Š” ์•„๋ฌด๋ฆฌ ๋‚ ์งœ๋ฅผ ํด๋ฆญํ•ด๋„ ๋ชจ๋‹ฌ์ด ๋œจ์ง€ ์•Š์•˜๋‹ค ใ… ใ… 

 

์ด๋•Œ ์ฐธ๊ณ ํ•œ ์งˆ๋ฌธ๊ณผ ๋‹ต๋ณ€!

 

 

How to make FullCalendar work on touch devices?

I was looking for a tablet friendly event calendar, but I did not find any suitable ones. But FullCalendar is one best jQuery calendar plugin that looks great on desktop and a tablet. This calendar

stackoverflow.com

 

๋ฐ”๋ณด๊ฐ™์ด ๋ฐ‘์—๊นŒ์ง€ ์ฝ์–ด์•ผ์ง€...ใ… ...

์ฒ˜์Œ๋ถ€๋ถ„๋งŒ ์ฝ๊ณ  ํ˜ผ์ž Touch Punch ํ”Œ๋Ÿฌ๊ทธ์ธ ์„ค์น˜ํ•˜๊ณ  ์Œฉ์‡ผ(12๋…„๋„ ๊ธ€์ด์—ˆ์Œ^^..)

๊ทธ๋ž˜๋„ ์•ˆ๋˜๊ธธ๋ž˜ ๋ฐ‘๋ถ€๋ถ„ ์ฝ์–ด๋ณด๋‹ˆ 

 

 

 

Touch Support in Beta Releases | FullCalendar

 

fullcalendar.io

 

ํ’€์บ˜๋ฆฐ๋” ๋ธ”๋กœ๊ทธ์— ํ„ฐ์น˜ ์ง€์›์„ ํ•œ๋‹ค๊ณ  16๋…„๋„์— ์˜ฌ๋ผ์™€ ์žˆ์—ˆ์Œ..! ๋ฐ”๋ณด

์‹ค์ œ๋กœ ๋ธ”๋กœ๊ทธ๋ฅผ ์ฝ๊ณ  ์‚ฌ์šฉํ•ด๋ณด๋‹ˆ

๋‚ด๊ฐ€ ์งง์€ ํ„ฐ์น˜! ๋ฅผ ํ•ด์„œ ์•ˆ๋๋˜ ๊ฒƒ. ํ•œ 2~3์ดˆ์ •๋„ ํ„ฐ์น˜ํ•˜๊ณ  ์žˆ์œผ๋ฉด ์ •์ƒ์ ์œผ๋กœ ๋™์ž‘ํ–ˆ๋‹ค.

 

 

 

 

 

longPressDelay - Docs | FullCalendar

For touch devices, the amount of time the user must hold down before an event becomes draggable or a date becomes selectable. Integer, default: 1000 (1 second) This value is specified in milliseconds. Only applicable when the calendar is being used on a to

fullcalendar.io

 

์—ฌ๊ธฐ์„œ๋Š” ์บ˜๋ฆฐ๋”์—์„œ ๋‚ ์งœ๋ฅผ ํด๋ฆญํ•  ๋•Œ ์‚ฌ์šฉ์ž๊ฐ€ ๋ˆ„๋ฅด๊ณ  ์žˆ๋Š” ์‹œ๊ฐ„์„ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ๋Š” ์†์„ฑ์ด๋‹ค.

 

const calendar = new FullCalendar.Calendar(calendarEl, {
    initialView: 'dayGridMonth',
    selectable: true, // ๋‹ฌ๋ ฅ ์…€ ์„ ํƒ ํ™œ์„ฑํ™”
    displayEventTime: false, // ์‹œ๊ฐ„ ํ‘œ์‹œ ์ œ๊ฑฐ
    eventColor: '#990e17',  // ์ผ์ • ํ‘œ์‹œ ์ƒ‰
    longPressDelay : 1, // ํ„ฐ์น˜ํ•  ๋•Œ ๋ˆ„๋ฅด๋Š” ์‹œ๊ฐ„ ์กฐ์ ˆ
    select: function(info) { // ๋‹ฌ๋ ฅ ์…€์„ ํด๋ฆญํ•  ๋•Œ ๋ชจ๋‹ฌ ์—ด๊ธฐ
        $('#addEventModal').modal('show'); 
        $('#start').val(info.startStr); 
        $('#end').val(info.endStr); 
    },
    events: loadEvents // ์ผ์ • ๋ถˆ๋Ÿฌ์˜ค๊ธฐ ํ•จ์ˆ˜ ์ฐธ์กฐ
});

 

longPressDelay : 1, 

์„ ์ถ”๊ฐ€ํ•œ ๋‚˜์˜ FullCalendar ์†์„ฑ ๊ฐ’

 

 

 

์ •์ƒ์ ์œผ๋กœ ๋ชจ๋‹ฌ์ด ๋‚˜์˜ค๋Š” ๋ชจ์Šต!

 

 

 

๋ฐ˜์‘ํ˜•