📅[New Plugin] Air Calendar (FullCalendar)

Yes please :slight_smile:

Will probably buy as soon this is in

Btw, do you have an ETA for this?

I’ve implemented it already and submitted it yesterday.
Waiting on Bubble @team to make it live.

1 Like

Great, which solution did you end up choosing?

New Update (Version 2.1.1)

Hello everyone, i’m happy to announce the release of Air Calendar Version 2. This version comes with a lot of new features, improvements and bug fixes.

1. Scheduler/Resource

Implemented the FullCalender Scheduler component allowing you to assign a resource to a calendar event.

This feature comes with several new views, 9 default plus your own custom views based on these. Examples include the timeline views and vertical resource views.

Vertical resource view

Timeline view

Please Note that the FullCalendar Scheduler requires a license from FullCalendar. For more information on it on the license see https://fullcalendar.io/license.

If you don’t need the resource component just make sure to uncheck the option"Enable Resource/Scheduler view. You can also use the GPL Licence for trial or non-commercial apps.

2. HTML content field

Added a new field for an event that allows you to insert html content or an extra field in your event.
With this if you’re creative with a little html and css you can create something like this.

3. Include html content in title

Check this box if you want to have an html content in your title.
If you check this box it means together with the html content field you have two sections to add html content. You can use only one of these or both.

4. Ability to specify event id field

Now you have control over specifying the unique id field for your events. Previously the plugin was defaulting the the unique field for your event data source. This prevented other non-bubble things to be used as calendar events. With this new feature you can use any list of objects that have a unique id and a date field as your event source.
This means that now Air Calendar supports google calendar or any other calendar source that you supply it with


5. Ability to temporary freeze calendar after drag/resize

With this feature you can specify the number of seconds to temporary freeze the calendar after a resize or drag. This allows time for bubble to update the database and re-render the calendar avoiding all the issues that some user experienced with dragging and resize.
There is also an accompanying action that can be used in a workflow when adding an event to your database. Add this action before the Create a new Thing action.

6. Allow select overlap

Check this box if you want to allow drag to select to overlap an existing event. If unchecked you wont be able to select over an existing event.

The update also includes several bug fixes as well as some internal improvements.

Update your calendar to the current version 2.1.1 to see all these amazing features. The update is non-breaking aside the event id field. So once you update just select the event id field and everything should work without any changes.


:raised_hands: :raised_hands: :raised_hands: :raised_hands: :raised_hands: :raised_hands:

@seanhoots Do we need to store the html tags or are they assumed?

Edited: We don’t need the html tags :slight_smile:


Hi @eli yes you’re right. You don’t need the html tags. It is not an iframe but rather just some html content.

Glat to see you’re already putting it in good use. :smiley:

Great plugin @seanhoots

Really loving everything so far. One thing I’m having a real issue with though is loading speed. It takes anywhere from 25 - 60 seconds for the calendar to load for me upon page load. And at the moment, I’m only pulling data for about 10 events.

Your demo app loads very quickly for me, and judging from others’ comments, it seems that loading speed isn’t an issue. (I imagine this would have come up if others were experiencing what I’m experiencing.)

Is there anything you can think of that might be causing this? Even when I installed the calendar and hit preview the first time without pulling anything from the database, it was taking about 5 seconds for the calendar to load. I’m on a personal plan, and everything else on my app is loading at a regular speed.

Figured it out.

The problem was that I was loading an entire list rather than using the “Do a search for” command with constraints. Lightning fast now.

Thanks @seanhoots

1 Like

This is fantastic.

However I am having some difficulty dragging between resources. (dragging within a resource works fine)

I have “allow dragging between resources” checked, and I have a workflow for when it’s dropped to change the resource field of the event to the modified event’s new resource. Do I need anything else?

@seanhoots, is there a trick to writing an expression in the title? All I see is the dropdown to select a field and no ability to write a Bubble expression, which the documentation suggests is possible. It doesn’t seem to matter if I have the “Title has HTML content” button is checked or not (and I don’t really want HTML content anyways, I want to use a Bubble :formatted as text expression):
What I’m trying to do is make it so that if a certain condition is met (specifically, the creator of the event is the current user), the I want to show the event’s name from the database, but if that condition is not met, then show a default string as the event title like “Private”. Can this be done? I didn’t see a way to change the event title field in the conditional variables area, either.

here is my issue dragging between resources https://www.youtube.com/watch?v=xzf2fzyM_1c&feature=youtu.be

Hi Sean, I tried to update the plugin from 1.1.1 and have a major and show-stopping error - none of my events appear on the calendar! Also, some events (with exact same constraints and search criteria) appear on the list view, but not on the other views. I need help! I have gone through every field in the plugin but nothing works. I hope you can get back to me ASAP as it is a major issue for us. I attach a screenshot of the search used for the calendar data:

There’s no way to do that - I miss that feature too - wish that was implemented instead of HTML content feature…

Anyone else all of a sudden getting AirCalendar errors? Was working fine on my end this morning, now my air calendars (within a group) are showing the following errors:

The plugin Air Calendar (Full Calendar) / element AirCalendar threw the following error: TypeError: b.data.fn_initializeCalendar is not a function at eval (PLUGIN_Air-Calendar–Full-Calendar–update–AirCalendar-.js:19:222) at https://d1ze4rjofsego.cloudfront.net/package/run_debug_js/ff1663641996deeb002890ba1a68955c1a4a11a0525b9b082203a39bc03d2193/xfalse/x5:9:1962296 (please report this to the plugin author)


Element AirCalendar A - Group my Shifts

The plugin Air Calendar (Full Calendar) / element AirCalendar threw the following error: TypeError: Cannot read property ‘names’ of undefined at eval (PLUGIN_Air-Calendar–Full-Calendar–initialize–AirCalendar-.js:2:82) at https://d1ze4rjofsego.cloudfront.net/package/run_debug_js/ff1663641996deeb002890ba1a68955c1a4a11a0525b9b082203a39bc03d2193/xfalse/x5:9:1962063 (please report this to the plugin author)

Has anyone experienced this type of mis-rendering before using this plugin?

I cannot consistently reproduce it, but have seen this too many times where it won’t render the hours grid. Any ideas?

@seanhoots I’m experiencing what I think may be a bug with the Air Calendar plugin. Took me awhile to figure out a replicable pattern, but I caught it here on video. In summary, when dragging and dropping “all day” events, the calendar seems not to pick up the correct “modified event end” variable. Instead of using the modified event’s drop date, it uses the previously modified event’s “modified event end” or, if this is the first event that I’ve drag/dropped or resized since last page load, it uses an empty “modified event end” date. Here’s the video:

My guess is that this is some kind of corner case that only occurs when mixed with other calendar settings (I use your plugin in another app and I do not seem to have this same issue). I’ve played with just about every calendar setting I can think of and re-wrote the app logic numerous times to try to get around this, but it all seems fruitless because no matter what I do I cannot get the app to read the “modified event end” date from the calendar itself (as demonstrated in the debugger in the video). This seems out of my control, hence the bug report.


@edd @seanhoots, I’m dealing with this problem as well, typically on a hard page reload. I currently have an on page load event that resets the calendar view when the calendar is visible and that seems to fix it but it causes a bit of a funky user experience for a couple of seconds.

@seanhoots not to pile on but it just so happened to occur again this morning so I wanted to get a video of what’s happening. It doesn’t seem to matter how I work the logic, periodically when a single event is dragged from one date to another, it will split into two separate events. One seems to exist only in the browser as it goes away on refresh but it has caused real confusion for some of my users.

Bonus, was able to show the hourly view not rendering as well.