fullcalendar로 개발을 하다 보니 이런저런 소스를 찾아봤으나 그렇게 맘에 드는 게 없어서 결국에는 공식 홈페이지에 있는 소스와 Ajax를 합쳐서 구현을 하였다. 파라메터 값 중에 날짜만 필요해서 moment.js를 사용하여 날짜+시간 => 날짜로 바꿔서 사용했다.
백엔드에서는 start, end 파라메터(String)를 가지고 mybatis에서 Query Where절에 Between을 사용해서 이벤트 목록을 가져오면 된다.
[javascript] 부분 div 태그 ID가 calendar인 정보를 calendarEl로 선언 후 각종 세팅을 한 예제 (옵션은 공식 홈페이지 참조)
Ajax로 데이터 조회 후 successCallback(data) 부분에서 data는 JSON-Array 형식으로 입력 해주면 화면에 자동으로 표시된다.
JSON Array 형식 (예제 - 공식 홈페이지 참조)
[Spring] TestController.java CalendarParam 을 통해서 파라미터 (start, end)를 받아서 selectEventList 함수를 통해 DB에서 데이터를 조회 후 JSON Array 형식(List<CalendarVO>)으로 리턴함 (@ResponseBody 선언)
[Spring] CalendarVO.java JSON Object로 사용할 변수들을 선언함 - title, start, end, url, color, textColor 등등
참고 사이트 : https://fullcalendar.io/docs/events-function
events (as a function) - Docs | FullCalendar A custom function for programmatically generating Events. function( fetchInfo, successCallback, failureCallback ) { } FullCalendar will call this function whenever it needs new event data. This is triggered when the user clicks prev/next or switches views. 728x90 반응형 FullCalendar의 경우 버전에 따라 함수가 굉장히 다르기 때문에 다루기 좀 까다로웠다.
**캘린더 생성var Calendar = FullCalendar.Calendar; //캘린더 속성 var calProps = { , header : { left :''
// 그리드 등 class 를 지정하여 드래그 가능하게 만들어준다 ** 캘린더 함수 호출var calendarId ; // new FullCalendar.Calendar(calendarEl, calProps ); 를 통해 생성한 캘린더 객체
// 캘린더 이벤트 업데이트 (id 지정해야 함) var event = calendarId.getEventById(CAL_ID);
// 캘린더 이벤트 조회 var eventList = calendarId.getEvents();
// 캘린더 기본값 지정. getEvents 시 가끔 deFault Date가 이동되어 고정 calendarId.gotoDate(eventData);
// 캘린더 삭제 calendarId.destroy(); // 이를 통해 삭제하면 선언이 충돌날 수 있다.
//캘린더 이벤트 전체 삭제 calendarId.removeAllEvents();
//캘린더 이벤트 추가 calendarId.addEvent(eventData); calendarId.addEventSource(eventData)
드래깅 관련// 캘린더 드래그 시작 시 function fn_calDrag(eventEl){ 728x90 반응형 공유하기 게시글 관리 구독하기A'MA DOO'JAVA HTML JAVASCRIPT > 소오스' 카테고리의 다른 글[JavaScript] Alert(경고창), Prompt(입력창), Confirm(선택창) (0)2021.04.16map, reduce 활용하기 (0)2021.04.16FullCalendar 예제/데모 (0)2021.04.15배열(Array) 이란? (0)2021.04.15Html - form태그 내 onsubmit 이벤트 (0)2021.04.14 |