Advertisement
Guest User

fullcalendar

a guest
Feb 12th, 2020
33
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.89 KB | None | 0 0
  1. <script src='vendor/fullcalendar/core/main.js'></script>
  2. <script src='vendor/fullcalendar/core/locales-all.js'></script>
  3. <script src='vendor/fullcalendar/interaction/main.js'></script>
  4. <script src='vendor/fullcalendar/daygrid/main.js'></script>
  5. <script src='vendor/fullcalendar/timegrid/main.js'></script>
  6. <script src='vendor/fullcalendar/list/main.js'></script>
  7.  
  8. <script>
  9.  
  10. document.addEventListener('DOMContentLoaded', function() {
  11. var initialLocaleCode = 'pl';
  12. var localeSelectorEl = document.getElementById('locale-selector');
  13. var calendarEl = document.getElementById('calendar');
  14.  
  15. var calendar = new FullCalendar.Calendar(calendarEl, {
  16. plugins: [ 'interaction', 'dayGrid', 'timeGrid', 'list' ],
  17. header: {
  18. left: 'prev,next today',
  19. center: 'title',
  20. right: 'dayGridMonth,timeGridWeek,timeGridDay,listMonth'
  21. },
  22. defaultDate: '2020-02-12',
  23. locale: 'pl',
  24. buttonIcons: false, // show the prev/next text
  25. weekNumbers: true,
  26. navLinks: true, // can click day/week names to navigate views
  27. editable: true,
  28. eventLimit: true, // allow "more" link when too many events
  29. events: "fetch-event.php",
  30. displayEventTime: false,
  31. eventRender: function (event, element, view) {
  32. if (event.allDay === 'true') {
  33. event.allDay = true;
  34. } else {
  35. event.allDay = false;
  36. }
  37. },
  38. selectable: true,
  39. selectHelper: true,
  40. select: function (start, end, allDay) {
  41. var title = prompt('Tytuł:');
  42.  
  43. if (title) {
  44. var start = $.fullCalendar.formatDate(start, "Y-MM-DD HH:mm:ss");
  45. var end = $.fullCalendar.formatDate(end, "Y-MM-DD HH:mm:ss");
  46.  
  47. $.ajax({
  48. url: 'add-event.php',
  49. data: 'title=' + title + '&start=' + start + '&end=' + end,
  50. type: "POST",
  51. success: function (data) {
  52. displayMessage("Pomyślnie dodano wydarzenie.");
  53. }
  54. });
  55. calendar.fullCalendar('renderEvent',
  56. {
  57. title: title,
  58. start: start,
  59. end: end,
  60. allDay: allDay
  61. },
  62. true
  63. );
  64. }
  65. calendar.fullCalendar('unselect');
  66. },
  67. editable: true,
  68. eventDrop: function (event, delta) {
  69. var start = $.fullCalendar.formatDate(event.start, "Y-MM-DD HH:mm:ss");
  70. var end = $.fullCalendar.formatDate(event.end, "Y-MM-DD HH:mm:ss");
  71. $.ajax({
  72. url: 'edit-event.php',
  73. data: 'title=' + event.title + '&start=' + start + '&end=' + end + '&id=' + event.id,
  74. type: "POST",
  75. success: function (response) {
  76. displayMessage("Zaktualizowano wydarzenie");
  77. }
  78. });
  79. },
  80. eventClick: function (event) {
  81. var deleteMsg = confirm("Czy napewno chcesz usunąć wydarzenie?");
  82. if (deleteMsg) {
  83. $.ajax({
  84. type: "POST",
  85. url: "delete-event.php",
  86. data: "&id=" + event.id,
  87. success: function (response) {
  88. if(parseInt(response) > 0) {
  89. $('#calendar').fullCalendar('removeEvents', event.id);
  90. displayMessage("Pomyślnie usunięto wydarzenie!");
  91. }
  92. }
  93. });
  94. }
  95. }
  96. });
  97.  
  98. calendar.render();
  99.  
  100. });
  101.  
  102. </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement