Calendar Grid Pro: Calendar Generator, Date Picker, Date Range Picker Like Airbnb, | Now at Version 1.6.1 - Fixes a Safari Compatibility Issue, minor bugfix

I may be wrong but I don’t think its page dependent, I think if you have loaded another plugin using moment.js at any stage then it can clash.



I’m not sure if you are responding to my post, but @keith states above to run it on a different page. While I don’t have any conflicting plugins on the original page where it is being used, I figured I would do it anyway. And I am still getting the same result.

@Keith I’m really not trying to be a pest but I thought that you should know that your latest version (1.7.0) gave this response when I tried to click on a date (when CalendarGripPro date or range picked). Nothing happened after clicking on the date.

Hi, yes was responding to your post. I had similar issues, not with @keith plugin but another calendar and I tried it in other pages, popups etc but couldn’t get it not to clash. I believe if the two plugins are loaded using moment.js then you will have the issue.


Hey @gaffneyantonio, here’s the thing: Many plugins are poorly written and will load a certain library on every page of your project, regardless of whether the plugin is used in the page or not. (This is actually sort of a problem with the Bubble plugin editor and its documentation. I see lots of plugin authors loading libraries as a “shared resource” when they should really be in the header of the element that actually uses the library in question.)

I suspect this is what’s happening in your application. However, the DOW blocking stuff is not widely used and so you could be hitting an edge case and it’s possible you are hitting a bug in CG Pro.

It also looks like your workflows are pretty complex and you may just be having a logic problem there. I’d be happy to take a look at your project if you add me as a collaborator (if you are on the right level plan) or we could arrange a time for you to make your project visible and/or editable and I can take a look.

I can’t really tell what might be going on with your project and CG Pro from the animated GIF.

Apologies for the delay in responding here as I’ve been busy on another couple of projects.

ADDITIONALLY: Apologies - the 1.7 push of Calendar Grid Pro is a total misfire. There’s no new functionality there – it’s an accidental push that did not have plugin properties correctly configured. Update to my just published version 1.8 (which is identical to 1.6.1, actually) which published with flags set correctly.

(Aside: The bubble plugin editor is such a mess. sigh.)

1 Like

I’m sure that you are very busy and I appreciate you getting back with me. I’m not code savvy so in terms of understanding what goes on behind the scenes, I can’t gather. I’m familiar with your frustrations with the plugin editor as I’ve seen you mention it in other posts and I’m aware that you have built a very complex plugin, which I think is great by the way. Having you take a look at my editor would be great. I’ll send a PM to sort the details, if that’s ok? Thanks again for getting back with me.

Yes, please PM me the link to your editor. If you’re comfortable making the editor “anyone can view” that’s all I need for an initial look. (And I can take a look tomorrow - it’s very early morning Pacific Time where I am.) I might need to request editing access as a second step.

A new update to Calendar Grid Pro is now available! Version 1.9.0 incorporates some bug fixes, improved error checking (lists of blocked dates and blocked ranges are now sanitized to remove any null items) and some new minor features:

  • Enhancements to Construct Date Action: Now sends Date Constructed Event when date construction is complete.
  • Enhanced Construct List of Dates from Range Action: Now you can supply a range to parse into individual date objects OR you can specify a separate Start and End Date that will be used to construct the range.
  • Fixes Rare Iteration Bug: When the Iterate Over a List of Dates action is being performed, the plugin’s update routine is suspended. This allows you to make changes to date lists that are being used by the plugin (e.g., list of single blocked dates) without causing the plugin to reset. Early versions of CG Pro behaved this way, but it was more of a side-effect rather than a real “feature”. This functionality is now restored and is now considered a fully-supported feature.

You should be able to safely update from 1.6.1 (possibly 1.6) or later to version 1.9.0 without having to “replace” missing plugins. (“Should”)

Happy calendaring,

Hi Keith, I’ve sent you a private message regrading a project that this plugin might be useful to use for, if your time permits, I’d appreciate it if i can get a reply back.

Hi @keith , I have been using Calendar Grid Pro for my application and it works great! Yesterday I upgraded to the latest version (1.9.0) which I thought would fix an error I had been getting (using the version 1.6.1) with a workflow to block days of the week. However I am still getting the error when the button that is meant to block Sundays in the calendar is pressed. What is weird is that the error appears only some times randomly and when it does, Sundays are not blocked. The error maybe occurs once every 20 times that the button is pressed.

Can you please provide some guidance on how I can prevent this error from happening?

Thank you!

Hi @mmschneider91, what’s likely (pretty much 100% sure of this) happening is that the Block Days of Week action is being sent before Calendar Grid Pro is initialized and ready to process Actions.

So CG Pro has an “initialized” state (output) that goes to “yes” when it’s fully initialized and ready to accept actions. You could add that as an additional “only when” to your workflow action so that Block DOW actions are not sent until the calendar is ready to receive them.

If you are sending Block DOW actions on a button press, you could use a Condition on the button (see the Conditions tab for the button) that makes the button unclickable when CG Pro’s Initialized isn’t “yes” so the user can’t accidentally fire one before CG Pro is ready. (Though it’s a good idea to also check that in the workflow.)

Try the suggestions above and let me know if that doesn’t fix your issue?

CG Pro also sends an EVENT called “Initialized” event whenever it is initially loaded and becomes ready, or when it resets or recomputes due to field changes.

(GEEK DEPT.: To explain that error message: “” is, literally, the function that gets called when the Block Days of Week Action is requested. The only way that that function cannot exist is if Calendar Grid Pro is not yet loaded and ready in the page.)

Just a quick note that Calendar Grid Pro has been updated to version 1.9.1. Version 1.9.1 is a bug fix update that fixes a rarely-triggered bug with the “Remove Not in Month Cells” feature.

If the “Remove Not in Month Cells” field was set to a dynamic value and that value went from “yes” (don’t show outside-of-month dates) to “no” (show outside-of-month dates), the calendar would not regenerate the date grid and this would throw an error.

This is fixed in 1.9.1 (and I’m pretty sure I’m the first person to run across that issue).

Hi @keith, Thanks for the response, that makes sense. I have made the change suggested by adding the Condition on the button and the blocking of Sundays is working. I will let you know if I get the error again as I continue testing it (given that the error only showed up some times).

Thanks so much for the help!

Hi @keith, Sorry to bother you again… but for some reason today my application is having trouble with all calendars that are in Mode: “Range Pick” since the workflow that is meant to create a list of date ranges (based on a date range selected by the user in the calendar after pressing a button), creates null values [“,”]. I am not sure why this is… I have checked all of the workflows and logic and everything seems right, I have rebuilt the logic to test it and it still does not work. What is weird is is that it was working yesterday and now it is not (and I haven’t made any changes to the workflows for those calendars). I tried downgrading to version 1.6.1 (which was the one I had yesterday before 1.9.0) but it did not get fixed. I then tried upgrading to version 1.9.1 (even if you didn’t list this as a fix) and it does not work.

I went back to your demo to see if my workflows and logic was incorrect and I have it the same way as it is shown in the demo. However, I realized that in the demo, the blockranges data also shows null values (see picture below).

I am not sure if it has to do with the fix you mentioned in version 1.9.0:
Enhanced Construct List of Dates from Range Action: Now you can supply a range to parse into individual date objects OR you can specify a separate Start and End Date that will be used to construct the range.

Can you please provide guidance as to why this error could be occurring and how I can fix it?

Lastly, do you always suggest upgrading to the latest version of the application? What happens if when I go live newer versions are released and I stay on an older version, can it be problematic?

Thank you,

@mmschneider91 this is a Bubble bug. Date Ranges are not working.

Thanks so much for letting me know @garet.send. I will track responses on the other thread (Date Range Not Saving in Database). I hope the bug is fixed soon since my application just like yours, depends on date ranges…

Wait… date ranges aren’t working in Bubble? Seriously? WTF, @bubble?

If true, that means my own main production app is broken…

Well… Holy fucking shit… Date Range storage and retrieval IS broken.


Hold my drink while I go berzerk…


As posted elsewhere:

Filed as Bubble bug report #7629 (Date Range Not Saving in Database)

I’m new to bubble and creating an app that needs to keep track of restaurant open hours… it seems that this plugin can do that. (RIGHT? The app store page doesn’t indicate it deals with time ranges but the videoes above seem to show it does)

And is this thread the extent of the ‘documentation’ for the app? I’ve read much of it but it spans years and different versions so you can imagine a newbie’s confusion.

3rd thing, I would love someone’s experienced help (some consulting hours) to work through my use case with me if anyone here does that!

1 Like