Guest User

Untitled

a guest
Oct 24th, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.37 KB | None | 0 0
  1. function FCInit(){
  2. var formatColumn, formatColumnWeek;
  3.  
  4. // Entete des colonnes
  5. if ($(window).width() < 600) {
  6. formatColumn = 'ddd';
  7. formatColumnWeek = 'dddnDD/MM';
  8. }
  9. else {
  10. formatColumn = 'dddd';
  11. formatColumnWeek = 'ddddnDD/MM';
  12. }
  13.  
  14. var fcOpts = {
  15.  
  16. header: {
  17. left: 'today,datePickerButton',
  18. center: 'prev,title,next',
  19. right: 'month,agendaWeek,agendaDay'
  20. },
  21.  
  22. contentHeight: 'auto',
  23. eventLimit: false,
  24. allDaySlot: true,
  25. slotEventOverlap: false,
  26. nowIndicator: true,
  27. timeFormat: 'H:mm',
  28. columnFormat: formatColumn, // Format des jours dans l'entete ddd: Mon / ddd M/D : Mon 09/07 / dddd : MOnday /
  29. navLinks: true,
  30.  
  31. eventOverlap: false,
  32. selectable: true,
  33. selectHelper: true,
  34. selectOverlap: true,
  35. selectConstraint:999,
  36. unselectCancel: '#reservation',
  37. views: {
  38. week: {
  39. columnFormat: formatColumnWeek
  40. }
  41. },
  42.  
  43. events:[{
  44. id:3,
  45. title:"Ru00e9servu00e9",
  46. start:"2017-11-02 08:00",
  47. end:"2017-11-02 10:00",
  48. overlap:false,
  49. color:"#C41305"
  50. },{
  51. id:999,
  52. className:"fc-nonbusiness",
  53. title:"",
  54. start:"00:00",
  55. end:"23:59",
  56. dow:[4],
  57. ranges:[
  58. {
  59. start:"2017-11-01",
  60. end:"2017-11-30"
  61. }
  62. ],
  63. rendering:"inverse-background",
  64. }],
  65.  
  66. /* Ajout de datepicker (nécessite Jquery UI css et js) */
  67. customButtons: {
  68. datePickerButton: {
  69. text: '',
  70. click: function () {
  71.  
  72. var $btnCustom = $('.fc-datePickerButton-button'); // name of custom button in the generated code
  73. $btnCustom.after('<input type="hidden" id="hiddenDate" class="datepicker"/>');
  74.  
  75. $("#hiddenDate").datepicker({
  76. flat: true,
  77. showOn: "button",
  78. dateFormat: "yy-mm-dd",
  79. onSelect: function (dateText, inst) {
  80. $('#full-calendar').fullCalendar('changeView', 'agendaDay', dateText);
  81. }
  82. });
  83.  
  84. var $btnDatepicker = $(".ui-datepicker-trigger"); // name of the generated datepicker UI
  85. //Below are required for manipulating dynamically created datepicker on custom button click
  86. $("#hiddenDate").show().focus().hide();
  87. $btnDatepicker.trigger("click"); //dynamically generated button for datepicker when clicked on input textbox
  88. $btnDatepicker.hide();
  89. $btnDatepicker.remove();
  90. $("input.datepicker").not(":first").remove();//dynamically appended every time on custom button click
  91.  
  92. }
  93. }
  94. },
  95. dayRender: function(date, cell){
  96. if(date.isBefore(new Date())){
  97. cell.css('cursor','no-allowed');
  98. }
  99. },
  100.  
  101. eventRender: function (event, element) {
  102.  
  103. if(event.ranges) {
  104. return (event.ranges.filter(function (range) { // test event against all the ranges
  105.  
  106. return (event.start.isBefore(range.end) &&
  107. event.end.isAfter(range.start));
  108.  
  109. }).length) > 0;
  110. }
  111.  
  112. if(event.rendering === "background"){
  113. // Just add some text or html to the event element.
  114. element.append("<div class='fc-title'>"+event.title+"</div>");
  115. }
  116.  
  117. },
  118. dayClick: function(date, jsEvent, view){
  119. if(date.isSameOrAfter(new Date()) && view.name === 'month'){
  120. $('#full-calendar').fullCalendar('changeView', 'agendaWeek', date);
  121. }
  122. },
  123. select: function(start, end, jsEvent, view){
  124. if(start.isSameOrAfter(new Date()) && view.name !== 'month'){
  125. $('#reservation_dateFrom').val(start.format('DD/MM/YYYY HH:mm'));
  126. $('#reservation_dateTo').val(end.format('DD/MM/YYYY HH:mm'));
  127. $('#reservation').modal('show');
  128. }else if(start.isBefore(new Date())){
  129. alert('Il n'est pas possible de réserver dans le passé');
  130. $('#full-calendar').fullCalendar('unselect');
  131. }
  132.  
  133. }
  134.  
  135. };
  136. $('#full-calendar').fullCalendar(fcOpts);
  137.  
  138. };
Add Comment
Please, Sign In to add comment