Hide end time (Month layout)

My clients wants to add start time only. and remove the option for end time. on calendar. Is there way to fix?

3 Likes

@user1490 I’ll check it with the devs and will let you know if it’s feasible :slightly_smiling_face:

Hi @user1490 :wave:

I’ve consulted with the devs and, unfortunately, there is no way to remove end time at the moment. I am so sorry!

We do realize that it would be a great addition and we’ll try to think it over in the upcoming updates. We’ll keep you in the loop here :slightly_smiling_face:

A huge thank you for sharing your idea with us!

1 Like

Hi,
Enter the same time for both, start and end time

3 Likes

Hi @MICHEL_A3A :wave:

Thank you so much for sharing your workaround with us! Yes, it actually works with such layouts as Grid, Masonry. However, user1490 is using Month layout where this option doesn’t work.

Anyway, a huge thank you for your interest and help, it’s highly appreciated :wink:

1 Like

Hi Max, I need the same option as well, thanks. Will try the suggestion of the same S/E time.

2 Likes

Hi @Francis_Bradford and welcome aboard :wave:

Thank you for sharing your feedback!

I see that you are using the Grid layout and this workaround should perfectly work for you.

As for the Month layout, we’ll try to find a solution in one of our future updates. We’ll keep you posted here :slightly_smiling_face:

1 Like

I have a need for this too, except I use list view. FYI, eventscalendar. co offers this. Maybe a little extra motivation for the devs? :wink: Thanks!

2 Likes

Thank you for the example, Tom! :+1:t2:

A friendly nudge is always helpful, indeed :grin: But we now have to prioritize things and consider features’ popularity and technical difficulty first as we have 3000+ requests on our Wishlist :slight_smile:

Let’s hope that other users show interest in this feature, too!

2 Likes

I am currently utilizing the “Movie Times” calendar for two band websites. As their shows often run to midnight or after, it would be great to have an option to not require an end time. Currently, they just list the end time as the start time when the show end time is after midnight, otherwise the calendar event runs across multiple days. Show start times is incredibly important to display on the month calendar view. Thank you!

1 Like

Hey there, @invisioncreative :waving_hand:

Thanks a lot for sharing your thoughts!

Unfortunately, this idea is not feasible now, but we have a request for this feature on the Wishlist. I’ve merged your comment with the related thread, where we’ll keep you updated :slightly_smiling_face:

Thanks, Max.

One idea for a workaround for the month view is to allow the event title to wrap/display and/or a subtitle field. This would give the client the option of hiding the time and entering it manually in the title or a new subtitle/second line field.

1 Like

It’s a good suggestion. My vote and support :+1:

I constantly have to click on the beginning and end of the event and do it at the same time, since all my events do not have an end time in my case. I make a lot of unnecessary clicks.

1 Like

Hey there, @invisioncreative :waving_hand:

I am happy to say that our devs found a custom solution that just hides an end time from the Month layout:

function keepOnlyStartTime(selector = '.fc-event-time') {
  document.querySelectorAll(selector).forEach((el) => {
    const fullText = el.textContent.replace(/\u00A0/g, ' ').replace(/\s+/g, ' ').trim();

    const startTime = fullText.split(/\s*-\s*/)[0].trim();

    Array.from(el.childNodes).forEach((node) => {
      if (node.nodeType === Node.TEXT_NODE) {
        node.remove();
      }
    });

    el.prepend(document.createTextNode(startTime + ' '));
  });
}

const waitForElement = (selector, root = document) => new Promise(res => {
    const observer = new MutationObserver(() => {
        const element = root.querySelector(selector);
        if (element) {
            res(element);
            observer.disconnect();
        }
    });
    
    observer.observe(root, { childList: true, subtree: true });
});

waitForElement('.fc-event-time').then(() => {
  keepOnlyStartTime();

  const nextBtn = document.querySelector('.fc-next-button');
  const prevBtn = document.querySelector('.fc-prev-button');

  if (!nextBtn || !prevBtn) {
    return;
  }

  nextBtn.addEventListener('click', () => keepOnlyStartTime());
  prevBtn.addEventListener('click', () => keepOnlyStartTime());
});

Just add this script to the Custom JS field on the Settings tab of your widget’s settings and you’ll be fine :slightly_smiling_face:

Note: Custom JS doesn’t function in the preview mode, so you can check the result right on your website or through the Share Link

2 Likes

Worked perfectly! Thank you!

2 Likes