单击日历的其他一些空格后,将显示完整的日历事件

时间:2018-12-19 16:42:45

标签: jquery

我正在使用全日历,但我的问题是单击后在日历上显示了完整的日历事件。我单击了日历的另一行,这就是我的问题。我想在打开日历时显示事件。

var booking_started = 0;
price_array = [];
booking_array = [];
booking_array = JSON.parse(control_vars.booking_array);
var today = new Date();
var listing_book_dates = [];

for (var key in booking_array) {
  if (booking_array.hasOwnProperty(key)) {
    var temp_book = [];
    temp_book["title"] = "reserved",
      temp_book["start"] = moment.unix(key).utc().format(),
      temp_book["end"] = moment.unix(booking_array[key]).utc().format(),
      temp_book["editable"] = false,
      temp_book["textEscape"] = false;
    listing_book_dates.push(temp_book);
  }
}
console.log(booking_array);

jQuery("#book_per_hour_calendar").fullCalendar({
  defaultView: "agendaWeek",
  defaultDate: today,
  selectable: true,
  selectHelper: true,
  selectOverlap: false,
  footer: false,
  slotDuration: "01:00:00",
  hiddenDays: ['.get_post_meta($post->ID, '
    checkin_change_over ', true).', '.get_post_meta($post->ID, '
    checkin_checkout_change_over ', true).'
  ],
  validRange: {
    start: today,
    end: "2025-06-01"
  },
  allDayText: "hours",
  allDay: false,
  forceEventDuration: true,
  defaultTimedEventDuration: "05:00:00",
  navLinks: false,
  weekNumbers: false,
  weekNumbersWithinDays: false,
  weekNumberCalculation: "ISO",
  editable: true,
  eventLimit: {
    "default": false
  },
  unselectAuto: false,
  nowIndicator: true,
  defaultEventMinutes: 200,
  isRTL: control_vars.rtl_book_hours_calendar,
  longPressDelay: 100,
  eventLongPressDelay: 100,
  selectLongPressDelay: 100,
  header: {
    left: "prev,next today",
    center: "title",
    right: ""
  },
  minTime: control_vars.booking_start_hour,
  maxTime: control_vars.booking_end_hour,
  dayClick: function(date, jsEvent, view) {},
  select: function(start, end, jsEvent, view) {
    end = moment(end);
    var min_hours = parseFloat(control_vars.min_days_booking);
    var start_of_day = (moment(start).startOf("day")) / 1000;
    if (mega_details[start_of_day] !== undefined) {
      min_hours = mega_details[start_of_day]["period_min_days_booking"];
    }

    var should_end = moment(start).add(min_hours, "hours");
    if (should_end > end) {
      end = should_end;
    }

    jQuery("#book_per_hour_calendar").fullCalendar("unselect");
    jQuery("#book_per_hour_calendar").fullCalendar("removeEvents", "rentals_custom_book_initial");
    jQuery("#book_per_hour_calendar").fullCalendar("renderEvent", {
        id: "rentals_custom_book_initial",
        start: start,
        end: end,
        allDay: false,
        editable: false,
      },
      true // stick the event
    );

    $("#book_per_hour_calendar").fullCalendar("removeEvents");
    $("#book_per_hour_calendar").fullCalendar("addEventSource", listing_book_dates);
    $("#book_per_hour_calendar").fullCalendar("rerenderEvents");
    jQuery("#book_per_hour_calendar").fullCalendar("removeEvents", "rentals_custom_book");
    var date_format = control_vars.date_format.toUpperCase() + " HH:mm";
    var new_date_format = date_format.replace("YY", "YYYY");

    jQuery("#start_date").val(start.format(new_date_format));
    jQuery("#end_date").val(end.format(new_date_format));
    jQuery(".fc-center .hour_selection").empty().html(start.format(new_date_format) + " to " + end.format(new_date_format));
    var prop_id = jQuery("#listing_edit").val();
    wpestate_setCookie("booking_prop_id_cookie", prop_id, 1);
    wpestate_setCookie("booking_start_date_cookie", start.format(new_date_format), 1);
    wpestate_setCookie("booking_end_date_cookie", end.format(new_date_format), 1);
    booking_started = 1;
  },
  events: listing_book_dates
});

我的事件显示在日历中,但是单击日历的某些部分(例如下一个,上一个等)时。 但我想直接在日历中显示事件,而无需单击下一个,上一个等其他部分。

0 个答案:

没有答案