triggers.html 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <link href='../dist/fullcalendar.css' rel='stylesheet' />
  5. <link href='../dist/fullcalendar.print.css' rel='stylesheet' media='print' />
  6. <script src='../lib/jquery/jquery.js'></script>
  7. <script src='../lib/jquery-ui/ui/jquery-ui.js'></script>
  8. <script src='../lib/moment/moment.js'></script>
  9. <script src='../dist/fullcalendar.js'></script>
  10. <script src='../dist/gcal.js'></script>
  11. <script>
  12. /*
  13. TODO:
  14. this file demonstrates a bug, unrelated to triggers, where starting off in a small window,
  15. changing to agendaWeek, maximizing the window, switching to month causes the last column of
  16. events to be misaligned (don't stretch all the way right)
  17. this happens due to agendaWeek being taller than month before the switch back
  18. */
  19. var date = new Date();
  20. var d = date.getDate();
  21. var m = date.getMonth();
  22. var y = date.getFullYear();
  23. $(document).ready(function() {
  24. $('#calendar').fullCalendar({
  25. //weekends: false,
  26. //defaultView: 'agendaWeek',
  27. header: {
  28. left: 'prev,next today',
  29. center: 'title',
  30. right: 'month,agendaWeek,basicWeek,agendaDay,basicDay'
  31. },
  32. editable: true,
  33. weekMode: 'variable',
  34. //isRTL: true,
  35. viewDisplay: function(view) {
  36. console.log('viewDisplay');
  37. console.log(view.start + ' - ' + view.end);
  38. console.log(view.visStart + ' - ' + view.visEnd);
  39. //console.log(view);
  40. //console.log(this);
  41. },
  42. eventAfterAllRender: function(view) {
  43. console.log('all rendered', view);
  44. },
  45. //loading: // see sources.html
  46. windowResize: function(view) {
  47. console.log('windowResize - ' + view.title);
  48. //console.log(this);
  49. },
  50. minTime: '5',
  51. maxTime: '21:30',
  52. dayClick: function(dayDate, allDay, ev, view) {
  53. //alert(dayDate);
  54. console.log('dayClick - ' + dayDate + ', allDay:' + allDay + ' - ' + view.title);
  55. //console.log(ev);
  56. console.log(this);
  57. },
  58. selectable: true,
  59. select: function(start, end, allDay) {
  60. console.log('select', start, end, allDay);
  61. },
  62. unselect: function() {
  63. console.log('unselect');
  64. },
  65. eventRender: function(event, element, view) {
  66. if (event.id == 888) {
  67. return false;
  68. }
  69. else if (event.id == 777) {
  70. return $("<div style='background:green'>").text(event.title);
  71. }
  72. else if (event.id == 999) {
  73. element.css('border-color', 'red');
  74. //console.log('renderEvent (' + event.title + ') - ' + view.title);
  75. }
  76. },
  77. eventAfterRender: function(event, element, view) {
  78. //console.log('after render for "' + event.title + '":');
  79. //console.log(element);
  80. },
  81. eventClick: function(event, jsEvent, view) {
  82. console.log('EVENT CLICK ' + event.title);
  83. //console.log(jsEvent);
  84. //console.log(view);
  85. //console.log(this);
  86. //return false;
  87. },
  88. eventMouseover: function(event, jsEvent, view) {
  89. console.log('MOUSEOVER ' + event.title);
  90. //console.log(jsEvent);
  91. //console.log(view);
  92. //console.log(this);
  93. },
  94. eventMouseout: function(event, jsEvent, view) {
  95. console.log('MOUSEOUT ' + event.title);
  96. //console.log(jsEvent);
  97. //console.log(view);
  98. //console.log(this);
  99. },
  100. eventDragStart: function(event, jsEvent, ui, view) {
  101. console.log('DRAG START ' + event.title);
  102. console.log(this);
  103. },
  104. eventDragStop: function(event, jsEvent, ui, view) {
  105. console.log('DRAG STOP ' + event.title);
  106. console.log(this);
  107. },
  108. eventDrop: function(event, dayDelta, minuteDelta, allDay, revertFunc, jsEvent, ui, view) {
  109. console.log('DROP ' + event.title);
  110. console.log(dayDelta + ' days');
  111. console.log(minuteDelta + ' minutes');
  112. console.log('allday: ' + allDay);
  113. //setTimeout(function() {
  114. // revertFunc();
  115. //}, 2000);
  116. //console.log(jsEvent);
  117. //console.log(ui);
  118. //console.log(view.title);
  119. //console.log(this);
  120. },
  121. eventResizeStart: function(event, jsEvent, ui, view) {
  122. console.log('RESIZE START ' + event.title);
  123. //console.log(this);
  124. },
  125. eventResizeStop: function(event, jsEvent, ui, view) {
  126. console.log('RESIZE STOP ' + event.title);
  127. //console.log(this);
  128. },
  129. eventResize: function(event, dayDelta, minuteDelta, revertFunc, jsEvent, ui, view) {
  130. console.log('RESIZE!! ' + event.title);
  131. console.log(dayDelta + ' days');
  132. console.log(minuteDelta + ' minutes');
  133. //setTimeout(function() {
  134. // revertFunc();
  135. //}, 2000);
  136. //console.log(jsEvent);
  137. //console.log(ui);
  138. //console.log(view.title);
  139. //console.log(this);
  140. },
  141. /* for testing eventAfterAllRender
  142. events: {
  143. url: "http://www.google.com/calendar/feeds/usa__en%40holiday.calendar.google.com/public/basic",
  144. editable: true,
  145. className: 'holiday'
  146. },
  147. */
  148. events: [
  149. {
  150. title: 'All Day Event',
  151. start: new Date(y, m, 1)
  152. },
  153. {
  154. title: 'Long Event',
  155. start: new Date(y, m, d-5),
  156. end: new Date(y, m, d-2)
  157. },
  158. {
  159. id: 999,
  160. title: 'Repeating Event',
  161. start: new Date(y, m, d-3, 16, 0),
  162. allDay: false
  163. },
  164. {
  165. id: 999,
  166. title: 'Repeating Event',
  167. start: new Date(y, m, d+4, 16, 0),
  168. allDay: false
  169. },
  170. {
  171. id: 888,
  172. title: 'Meeting',
  173. start: new Date(y, m, d, 10, 30),
  174. allDay: false
  175. },
  176. {
  177. id: 777,
  178. title: 'Lunch',
  179. start: new Date(y, m, d, 12, 0),
  180. end: new Date(y, m, d, 14, 0),
  181. allDay: false
  182. },
  183. {
  184. title: 'Birthday Party',
  185. start: new Date(y, m, d+1, 19, 0),
  186. end: new Date(y, m, d+1, 22, 30),
  187. allDay: false
  188. },
  189. {
  190. title: 'Click for Google',
  191. start: new Date(y, m, 28),
  192. end: new Date(y, m, 29),
  193. url: 'http://google.com/'
  194. }
  195. ]
  196. });
  197. });
  198. </script>
  199. </head>
  200. <body style='font-size:12px'>
  201. <div id='calendar' style='width:75%;margin:20px auto 0;font-family:arial'></div>
  202. </body>
  203. </html>