vertical-resource-view.html 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset='utf-8' />
  5. <link href='../packages/core/dist/main.css' rel='stylesheet' />
  6. <link href='../packages/daygrid/dist/main.css' rel='stylesheet' />
  7. <link href='../packages/timegrid/dist/main.css' rel='stylesheet' />
  8. <script src='../packages/core/dist/main.js'></script>
  9. <script src='../packages/interaction/dist/main.js'></script>
  10. <script src='../packages/daygrid/dist/main.js'></script>
  11. <script src='../packages/timegrid/dist/main.js'></script>
  12. <script src='../packages-premium/resource-common/dist/main.js'></script>
  13. <script src='../packages-premium/resource-daygrid/dist/main.js'></script>
  14. <script src='../packages-premium/resource-timegrid/dist/main.js'></script>
  15. <script>
  16. document.addEventListener('DOMContentLoaded', function() {
  17. var calendarEl = document.getElementById('calendar');
  18. var calendar = new FullCalendar.Calendar(calendarEl, {
  19. plugins: [ 'interaction', 'resourceDayGrid', 'resourceTimeGrid' ],
  20. defaultView: 'resourceTimeGridDay',
  21. defaultDate: '2020-05-07',
  22. editable: true,
  23. selectable: true,
  24. eventLimit: true, // allow "more" link when too many events
  25. header: {
  26. left: 'prev,next today',
  27. center: 'title',
  28. right: 'resourceTimeGridDay,resourceTimeGridTwoDay,timeGridWeek,dayGridMonth'
  29. },
  30. views: {
  31. resourceTimeGridTwoDay: {
  32. type: 'resourceTimeGrid',
  33. duration: { days: 2 },
  34. buttonText: '2 days',
  35. }
  36. },
  37. //// uncomment this line to hide the all-day slot
  38. //allDaySlot: false,
  39. resources: [
  40. { id: 'a', title: 'Room A' },
  41. { id: 'b', title: 'Room B', eventColor: 'green' },
  42. { id: 'c', title: 'Room C', eventColor: 'orange' },
  43. { id: 'd', title: 'Room D', eventColor: 'red' }
  44. ],
  45. events: [
  46. { id: '1', resourceId: 'a', start: '2020-05-06', end: '2020-05-08', title: 'event 1' },
  47. { id: '2', resourceId: 'a', start: '2020-05-07T09:00:00', end: '2020-05-07T14:00:00', title: 'event 2' },
  48. { id: '3', resourceId: 'b', start: '2020-05-07T12:00:00', end: '2020-05-08T06:00:00', title: 'event 3' },
  49. { id: '4', resourceId: 'c', start: '2020-05-07T07:30:00', end: '2020-05-07T09:30:00', title: 'event 4' },
  50. { id: '5', resourceId: 'd', start: '2020-05-07T10:00:00', end: '2020-05-07T15:00:00', title: 'event 5' }
  51. ],
  52. select: function(arg) {
  53. console.log(
  54. 'select',
  55. arg.startStr,
  56. arg.endStr,
  57. arg.resource ? arg.resource.id : '(no resource)'
  58. );
  59. },
  60. dateClick: function(arg) {
  61. console.log(
  62. 'dateClick',
  63. arg.date,
  64. arg.resource ? arg.resource.id : '(no resource)'
  65. );
  66. }
  67. });
  68. calendar.render();
  69. });
  70. </script>
  71. <style>
  72. body {
  73. margin: 0;
  74. padding: 0;
  75. font-family: Arial, Helvetica Neue, Helvetica, sans-serif;
  76. font-size: 14px;
  77. }
  78. #calendar {
  79. max-width: 900px;
  80. margin: 50px auto;
  81. }
  82. </style>
  83. </head>
  84. <body>
  85. <div id='calendar'></div>
  86. </body>
  87. </html>