I have 1000+ events spread out across years, and I obviously dont want to load them all everytime I open the calendar view
I dont know if its an actual feature yet and I'm doing something wrong, but I cant seem to get AJAX loading to work out of the box
The ideal would be that when you click back/forth between months, it loads the nodes as necessary.. Is this possible out of the box?
I can see that the pager is highlighted in the readme picture, but I cant seem to figure out what "5" means :)
https://www.drupal.org/files/project-images/FullCalendar%20View%20Settin...
Thanks in advance for any help :)
Comment | File | Size | Author |
---|---|---|---|
#79 | 2960335-79.patch | 36.38 KB | alex.tiupa |
#75 | 2960335-74.patch | 36.58 KB | mohammedOdeh |
#61 | 2960335-61.patch | 35.13 KB | Qusai Taha |
#54 | 2960335-interdiff-53-to-54.patch | 701 bytes | junaidpv |
#54 | 2960335-54.patch | 33.41 KB | junaidpv |
Issue fork fullcalendar_view-2960335
Show commands
Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
Comments
Comment #2
MingsongHi ras-ben,
I am intending to deliver this new feature with Version 3.0 as we have to rebuild the structure for this module to implement this functionality.
We need to create a data source for the Ajax calling by a attached view or something external such as JSON feed event source.
Comment #3
ras-ben CreditAttribution: ras-ben commentedHey Mingsong
Thanks a lot for the answer!
Do you have any idea/timeframe when Version 3.0 will be ready?
Comment #4
MingsongI will try to make some time for it this weekend.
Hopefully I can deliver it this weekend.
Comment #5
ras-ben CreditAttribution: ras-ben commentedWow, that would be awesome - thank you!
If there's something I can do to help you along, let me know :)
Comment #6
ras-ben CreditAttribution: ras-ben commentedHey Mingsong
Not trying to be pushy, but do you have any idea when version 3 is gonna be out? :)
Comment #7
MingsongHi ras-ben,
I have been busy recently. I will commit all I have done so far by git this weekend.
You are welcome to have a close look at it and let me know what you think.
The main idea is that I will create a custom block delivered with this module as the view to represent the FullCalendar to client side that can accept a URL as the event source. See the Doc for details.
We also need to provide an approach to exposing nodes as event sources in JSON.
Currently, my thought is that we can provide a custom view delivered with this module which exports event nodes in JSON as the event sources for that block we created.
What do you think?
Comment #8
ras-ben CreditAttribution: ras-ben commentedHey Mingsong
Sorry about the slow reply - I've been sick/away but I'm back now :)
Did you ever get around to committing the code? I dont seem to be able to find it :)
Your idea of a custom view with nodes sounds like an excellent approach to the issue.
If you have any code ready, I'll be happy to test it in my setup and see how it works and give you some feedback?
Comment #9
MingsongHi Ben,
I just create a new branch of 8.x-3.x and committed two new sub-modules with it.
Cheers,
Comment #10
Ludo.RI also have 1500+ events spread over several years and I'm very interested into AJAX loading, otherwise my page is quite heavy.
I see that you have some sort of PoC in 8.x-3.x to have an external source for events.
What are your plans for a 3.x release?
Comment #11
timwoodHi. I'm also interested in this feature. I notice the 3.x branch hasn't been updated along with the 2.x branch. Any thoughts on the paging feature?
Comment #12
jdearie CreditAttribution: jdearie commented+1 on interest in this feature. with a large number of events, the page load will be too slow to make the calendar view usable.
Comment #13
jarykohlbern CreditAttribution: jarykohlbern commentedHey, looking to implement this feature as soon as possible. Could use an overview of the work done so far so I know where to start with completing what's left.
Comment #14
MingsongComment #15
MingsongIt is part of the gold for version 3.
Comment #16
MingsongComment #17
MingsongThis will be a new feature for 9.x.
Comment #18
graker CreditAttribution: graker commentedHi Mingsong, thanks for you work on this module!
Just subscribing to the issue as I need this feature as well. Will it be available in 5.* branch that works on Drupal 8 though?
Comment #19
MingsongThis feature is pretty completed for a view plugin. A potential solution is to use the Ajax filter of the view to reduce the amount of records loaded initially.
If others have a better solution please raise here.
Comment #20
graker CreditAttribution: graker commentedThanks. I'm not sure though how to tie ajax filter to the Fullcalendar arrows. I mean, so that the View would load new data when user changes selected month or week.
Comment #21
MingsongUnfortunately not, but The view will load selected data from server once the filter is changed.
A work around is to add a exposed filter for the the range, for example from 2019.01.01 to 2019.12.31. So that the view initially only loads the records in that time period. The client can change the date range by the filter.
Comment #22
graker CreditAttribution: graker commentedOkay, thanks.
Then I can probably add some JS to the arrows so they would affect the filter.
Comment #23
dwwThe map views display plugin from geolocation does something similar with a hidden exposed filter that it updates via JS when the map is resized. See geolocation/src/Plugin/views/filter/BoundaryFilter.php -- all AJAX, the view only loads the items that are included within the map. A very similar approach could happen here.
Thanks,
-Derek
Comment #24
timwoodHas anyone made any progress on a working solution to this issue they'd be willing to share? Our users have reported major performance issues with our events calendar. We already limited the result set by date range (not exposed). This results in less than 500 items displayed, but load time is really long when cache is empty, even on fast production environment. Our ideal solution is a views pager which works with the arrow navigation buttons to load more results when clicked. This way the view can load only the current months results initially.
Thanks
Comment #25
robotjox CreditAttribution: robotjox commentedWould love to hear some suggestions too. We have a calendar with thousands of events, and it pretty much crashes the site.
Also I'm not sure which ajax filter is referred to in this thread?
Comment #26
dwwNot yet, but if anyone wanted to sponsor me to work on this, I'd be happy to get it working and contribute the solution here. Just contact me if you need this and have a budget for it. ;)
Cheers,
-Derek
Comment #27
robotjox CreditAttribution: robotjox commentedUnfortunately, I don't have the resources to sponsor development, but I would be happy to chip in to a joint pool if anyone is interested?
In the meantime I am looking for a workaround - I see mention of an ajax filter, but I can't figure out what is meant by that. Is it simply an exposed date filter? For that to work I guess the filter would need to be changed automatically with JS for every arrow click (going from month to month)?
I would be very thankful if anyone can maybe share how they approached this problem as it prevents our calendar from working.
Comment #28
timwoodJust yesterday I tested implementing a workaround with an exposed filter for our date field which allows us to load less results initially (using default values) to help speed up the main calendar page, while still giving users flexibility to view more calendar items. Results set went from over 400 to under 100 setting defaults to -1 - +1 month rather than non-exposed filter which was set to -6 - +9 months. I didn't use JS/AJAX or hook up the filter to the arrow buttons for paging, so it's a lot less elegant than what others have suggested here.
Views exposed filters showing date range in collapsed fieldset
The collapsed fieldsest is provided by the better exposed filters module.
Fieldset expanded showing range start options
Fieldset expanded showing range end options
Fieldset displays expanded across page loads when defaults not selected
Comment #29
robotjox CreditAttribution: robotjox commentedThanks so much for explaining your approach. I have been fiddling with something similar.
Correct me if I am wrong, but with this setup, the calendar will not show any items when users are navigating outside the date range using the arrows, right?
For my users it is important that they can navigate several years without having to deal with exposed filters.
I have tried to add some query that autosubmits a (hidden) exposed date filter every time the user clicks an arrow.
So for instance:
If you click on the back arrow the jquery subtracts a month from the current input date filter and submits the exposed form automatically.
However the problem I am now facing is that this is only working with a page refresh - an ajax submit causes no results found.
Comment #30
timwoodCorrect. An unfortunately side effect.
Your approach sounds great. If you don't mind, please share more details / code for what you've done so far. Maybe some one will be able to help. As for ajax, I'm not sure whether this module works with ajax yet. Maybe the maintainer can address that.
Comment #31
mandclu CreditAttribution: mandclu at Northern Commerce commentedAFAIK this module currently puts all the data directly into the page, which is why Mingsong mentioned that it would require a fair bit of work to implement this.
Exposing the data probably isn't super difficult, thought probably easier if we can resolve #2868014: [PP-1] Views Date Filter Datetime Granularity Option. Hoping to spend some time on that in the next few days.
There is some discussion on loading events into Fullcalendar via AJAX at https://stackoverflow.com/questions/12019130/how-can-i-load-all-events-o...
Comment #32
robotjox CreditAttribution: robotjox commentedWell, it would be better if it was working :-D
I use an exposed date "between" filter like you do.
Then I use very simple jquery to catch the click on the arrow:
and for every click on the arrow back button I simply subtract one month from the current date in the field (using a counter for every click):
Autosubmitting like this:
$('#edit-submit-mycalendar').click();
The main problem with this approach is that as soon as I submit the exposed filter form with ajax I get an empty result.
If I don't use ajax the whole page refreshes which of course puts the user back to the current month as the whole point of fullcalendar is to not refresh the page.
I really suck at jquery so that might explain a lot :-)
I suspect much of this is because what is really needed is a views plugin, but I currently do not have the time to make one - it took me a long time to create a custom decorator.
I wonder why the ajax filtering does not work - this thread makes multiple mentions of an ajax filter?
I really hope someone can take this further!
Comment #33
timwoodChanged version to latest -dev version.
Comment #34
MingsongFor those wondering what view Ajax filter is, the following article might help you to understand it.
http://www.softdecoder.com/blog/filter-content-drupal-view-ajax
According to my test, if I disabled the BigPipe module, the view will work fine with Ajax filter.
So I think the thing we need to work out is how to know the current load is a Ajax call rather than a normal page load.
Comment #35
robotjox CreditAttribution: robotjox commentedI think I made a little progress.
I have managed to create a javascript plugin that only loads the items of the current month when the user navigates with the previous/next buttons automatically updating an exposed "between dates" filter.
Unfortunately this only works for the month view - I am somehow unable to make my code detect when the user changes to a week, day or list view, so that needs to be fixed.
Bear in mind that I'm not an expert in JS/Jquery/Ajax, so a lot of the following code definately needs a lot of cleaning up.
Note:
my fullcalendar view has ajax enabled.
my custom module name is "sctmariae_calendar".
my exposed date filters are called "edit-field-tid-value-min" and "edit-field-tid-value-max".
Hope this makes sense, and that someone can help us take this further.
EDIT: removed some wrong code
Comment #36
robotjox CreditAttribution: robotjox commentedAllow me to add: the reason I have a hard time getting the week, day, list views to work with the above is because that as soon as the ajax filter is submitted the fullcalendar view resets to the default month view.
I hope someone who knows more about ajax can chime in here - how can I submit the ajax filter and still keep the chosen calendar view style? Thanks :-)
Comment #37
ras-ben CreditAttribution: ras-ben commentedI'm not sure if it would help with your problem, but you should probably try to use $(context) instead of $(document) :)
Comment #38
robotjox CreditAttribution: robotjox commentedIn case somebody wants to take this further here is my complete plugin that loads events as needed in day, week, month and list views.
It does so by manipulating an exposed date filter (which you can hide with CSS, so nobody notices).
This is probably not an ideal solution as the ajax loading of nodes takes some time each time you navigate the calendar, but it is the only way I could make this work, and without it the module was useless, because we have thousands of nodes.
I also hope somebody more knowledgeable in jquery can finetune this script - it is glued together through a lot of trial and error, but it works for me. I think the code can be shortened a lot by using functions, but I have very little time right now to fix this. It is what it is :-)
EDIT: Added some more info and fixed a few omissions.
Comment #39
MingsongFYI: The Ajax filter issue has been fixed with 5.x-dev.
See #3136683: Allow ajax to be used for filters in ^4.2
Comment #40
DustinYoder CreditAttribution: DustinYoder commentedCan you explain how to configure this to work? Do we need to add some date filters or something to the view? I can't seem to get this working. On latest 5 release.
Comment #41
MingsongAs this post still active and is a new feature which hasn't been implemented yet.
So No configuration available for it.
The issue mentioned in #39 is different issue related to Ajax loading, but is not the new feature required.
Comment #42
DustinYoder CreditAttribution: DustinYoder commentedOk, thanks. Would these hidden exposed filter fields be added programmatically with a view alter or how do you envision this working? I would be pretty happy to help link the next and prev buttons to those exposed filters and trigger the AJAX. I also wonder if anyone knows how to force the full calendar to show the correct month/week/day once the AJAX completes? Thanks
Comment #43
Agogo CreditAttribution: Agogo commentedI want to chime in on a solution that I made to resolve the problem with slow loading times on a site with thousands of date values/entities. Inspired by @robotjox above.
Like previous authors in this thread I made exposed filters with from and to dates that I later just hid with CSS (display:none). From date >= and To date <=. Both as machine date format (CCYY-MM-DD HH:MM:SS).
Ajax enabled.
You might have to check your date values for localization.
I hope it helps someone:
Comment #44
markusa CreditAttribution: markusa commentedSome really great code snippets here ... been trying code from comment 35 .. a few minor modifications.
The problem I have, is that when the submit button is submitted via javascript .. the calendar still resets to the current month.
I have Ajax enabled in the View .. it is updating without a page reload.
Was there some other thing necessary for when I hit the "next" button, and the exposed filters are updated, and apply hit .. that the calendar will not reset to be the current month?
On first page load, I do want the current month to be what loads, just not after changing the exposed filters and the ajax refresh.
Much thanks in advance
Comment #45
markusa CreditAttribution: markusa commentedTo get the calendar to refresh via ajax on the month you are filtering on
Modifying the code in 35
Comment #46
MingsongI just created a new module FullCalendar Block which uses the FullCalendar 5.
It is a simple module that uses a block to display the calendar rather than a view. Unlike the FullCalendar View module, that module need a JSON feed via a URL as the event data source. It supports loading events via Ajax once needed.
Comment #47
aarondouyere CreditAttribution: aarondouyere commentedHi Mingsong, I'm using the full calendar view plugin on my site and Ive created the view as a block and placed in on several pages. As the page was timing out I had to limit the number of calendar posts to display. Can you please advise on how I can use the Full Calendar Block module for my use case.
Comment #48
MingsongHi Aaron Douyere, FullCalendar Block module will only load calendar entries (posts) for current view (month, week or day) by default. It won't load any other entries that don't appear in current view.
Regarding how to use that module, please have a look at the module page or the readme file https://git.drupalcode.org/project/fullcalendar_block/-/blob/1.0.x/READM...
Comment #49
kazah CreditAttribution: kazah commentedI'm trying to use the code from #38 or #43, but I need to set a relative date. Otherwise, the calendar does not display any events.
If I convert date to moment.js format, then when displaying the current month, it will be
'a month'
and so on. With this value exposed filters won't work.Does anyone have a solution?
Comment #50
kazah CreditAttribution: kazah commentedI'm grateful to everyone who posted their solutions...here's mine.
Initial data:
between
):min (-1 month)
,max (+1 month)
.between
):min (empty)
,max (empty)
.dayGridMonth
.I only need:
dayGridMonth
,listMonth
andlistYear
Also transitions:
prev
,next
andtoday
.The main problem was: for some reason
Drupal.attachBehaviors
is loaded before the calendar.I saw the solution here: https://www.drupal.org/project/fullcalendar_view/issues/3214419 - but it didn't help me :)
It was possible to use
setTimeout
, but also with varying success, so I used the solution that was in the calendar itself:I could manage to solve the problem of reseting to default view after the update. There was a small curve transition to the desired view and date, but this is not a problem at all. If anyone has a solution I would appreciate seeing it.
Here is my code:
Comment #51
kazah CreditAttribution: kazah commentedUPDATE
To get rid of jagged transitions I need to add the code below: (right after
attach: function (context, settings) {
)Comment #52
junaidpvI could make this work with the given code changes in the given patch.
I made this possible by utilizing the feature of the Fullcalendar by providing events a JSON feed as documented at https://fullcalendar.io/docs/v4/events-json-feed
The idea is to generate a list of events as JSON feed by executing that particular view itself. A new route named 'fullcalendar_view.event_source' has been created for this. This new route and its controller has been modeled after the builtin Ajax feature of the views. Instead of rendering the entire HTML for the view, it just provides JSON for the list of events.
The Fullcalendar itself will pass the 'start' and 'end' for the timestamps to be used for filtering the events to be returned.
Now, the events are not supposed to be loaded along with the page load as events now on will be always loaded over Ajax. So, I have implemented hook_views_post_build() to fetch only one entry from the database when the view is being executed in the initial page build. (In fact we don't need to load any entry at all, but I see we can't set to load 0 rows in SQL query.
The controller action CalendarEventSourceController::ajaxView() will dynamically set the filtering for datetime as per the 'start' and 'end' parameters being passed by the Fullcalendar.
How to use the patch
Note: This patch may need some minor improvements if your events contents has two separate datetime fields for 'start' and 'end' of the events.
TODO
Right now it does not work with the changes in exposed form field values. I already added code to pass the exposed field values to the view similar to how the Ajax feature of the Views module works. But somehow, it is not working as I expected.
Comment #53
junaidpvI could improve the patch I posted in #52. Now it works with views exposed forms. Here is the updated patch.
Comment #54
junaidpvI missed to use color option settings in my earlier patches. Here is the one having that corrected.
Comment #55
joshuautley CreditAttribution: joshuautley commentedTried using patch #54 and ran into an issue using SmartDate. Has anyone else run into this issue?
The website encountered an unexpected error. Please try again later.
TypeError: Argument 1 passed to Drupal\smart_date\Plugin\FullcalendarViewProcessor\SmartDateProcessor::getIdMappings() must be of the type array, null given, called in /home/swbqszdz/public_html/modules/contrib/smart_date/src/Plugin/FullcalendarViewProcessor/SmartDateProcessor.php on line 53 in Drupal\smart_date\Plugin\FullcalendarViewProcessor\SmartDateProcessor->getIdMappings() (line 94 of modules/contrib/smart_date/src/Plugin/FullcalendarViewProcessor/SmartDateProcessor.php).
Drupal\smart_date\Plugin\FullcalendarViewProcessor\SmartDateProcessor->getIdMappings(NULL) (Line: 53)
Drupal\smart_date\Plugin\FullcalendarViewProcessor\SmartDateProcessor->process(Array) (Line: 39)
template_preprocess_views_view_fullcalendar(Array, 'views_view_fullcalendar', Array)
call_user_func_array('template_preprocess_views_view_fullcalendar', Array) (Line: 287)
Drupal\Core\Theme\ThemeManager->render('views_view_fullcalendar', Array) (Line: 422)
Drupal\Core\Render\Renderer->doRender(Array) (Line: 435)
Drupal\Core\Render\Renderer->doRender(Array, ) (Line: 201)
Drupal\Core\Render\Renderer->render(Array) (Line: 479)
Drupal\Core\Template\TwigExtension->escapeFilter(Object, Array, 'html', NULL, 1) (Line: 110)
__TwigTemplate_8e7f12e2a291d2863492e4f0fad6a1d2982af8828348a229bc45ce46a7d7c81a->doDisplay(Array, Array) (Line: 405)
Twig\Template->displayWithErrorHandling(Array, Array) (Line: 378)
Twig\Template->display(Array) (Line: 390)
Twig\Template->render(Array) (Line: 55)
twig_render_template('themes/contrib/bootstrap/templates/views/views-view.html.twig', Array) (Line: 384)
Drupal\Core\Theme\ThemeManager->render('views_view', Array) (Line: 422)
Drupal\Core\Render\Renderer->doRender(Array) (Line: 435)
Drupal\Core\Render\Renderer->doRender(Array, ) (Line: 201)
Drupal\Core\Render\Renderer->render(Array, ) (Line: 241)
Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}() (Line: 564)
Drupal\Core\Render\Renderer->executeInRenderContext(Object, Object) (Line: 242)
Drupal\Core\Render\MainContent\HtmlRenderer->prepare(Array, Object, Object) (Line: 132)
Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse(Array, Object, Object) (Line: 90)
Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray(Object, 'kernel.view', Object)
call_user_func(Array, Object, 'kernel.view', Object) (Line: 142)
Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch(Object, 'kernel.view') (Line: 164)
Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object, 1) (Line: 81)
Symfony\Component\HttpKernel\HttpKernel->handle(Object, 1, 1) (Line: 58)
Drupal\Core\StackMiddleware\Session->handle(Object, 1, 1) (Line: 48)
Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object, 1, 1) (Line: 106)
Drupal\page_cache\StackMiddleware\PageCache->pass(Object, 1, 1) (Line: 85)
Drupal\page_cache\StackMiddleware\PageCache->handle(Object, 1, 1) (Line: 50)
Drupal\ban\BanMiddleware->handle(Object, 1, 1) (Line: 48)
Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object, 1, 1) (Line: 51)
Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object, 1, 1) (Line: 23)
Stack\StackedHttpKernel->handle(Object, 1, 1) (Line: 709)
Drupal\Core\DrupalKernel->handle(Object) (Line: 19)
Comment #56
aeski CreditAttribution: aeski as a volunteer commentedI'm getting the same as joshuautley using those patches.
Comment #57
Jelle_SThis patch does not call all FullcalendarViewProcessor plugins when loading the data (we use a plugin to alter the color of the events based on some properties)
Comment #58
Rahaf Albawab CreditAttribution: Rahaf Albawab commentedI'm getting the same as joshuautley when using those patches.
Comment #59
kazah CreditAttribution: kazah commentedMy code working only for 5.1.2
Comment #60
Qusai Taha CreditAttribution: Qusai Taha at Vardot commentedRe-roll the patch to make it work with the smart date module and smartdate_default field formmater.
Comment #61
Qusai Taha CreditAttribution: Qusai Taha at Vardot commentedComment #62
COBadger CreditAttribution: COBadger at Aten Design Group commentedI tested the patch in comment 61 against version 5.1.8 and it worked really well - bravo! Much better user experience.
Comment #64
MingsongThanks everyone for working or contributing your thought on this issue.
Since there are a lots changes and this move will require more testing, I created a new branch 5.2.x for it and a MR for this issue.
You can use following URL to get the patch from the MR.
https://git.drupalcode.org/project/fullcalendar_view/-/merge_requests/44...
The main concern I am having for the codes suggested is security. I will raise my concern on the MR for further discussion.
It is a significant change and involved a lots of works. I really appreciate your work and thought on such important feature for some sites in which there are a lots of events which are unnecessary to load at once.
Comment #65
MingsongThere are some unsolved issues (see the MR), so it needs more works.
Comment #66
someshver CreditAttribution: someshver as a volunteer and commentedGetting issue after applying the patch #61.
I am using Smart date with Smart Date Recurring module.
Comment #67
maelcorm CreditAttribution: maelcorm commentedSame error with patch #61
Drupal\smart_date\Plugin\FullcalendarViewProcessor\SmartDateProcessor::getIdMappings(): Argument #1 ($entries) must be of type array, null given
Comment #68
mohammedOdeh CreditAttribution: mohammedOdeh commentedReroll the patch to version 5.1.11
Comment #69
mohammedOdeh CreditAttribution: mohammedOdeh commentedReroll the patch to version 5.1.11
Comment #70
mohammedOdeh CreditAttribution: mohammedOdeh commentedReroll the patch to version 5.1.11
Comment #71
MingsongI will put this module into "Bug fixing only' status soon.
A feature like this one requires a lots testing, won't be add to future release of this module.
I recommend using Fullcalendar Block module instead.
Comment #72
mohammedOdeh CreditAttribution: mohammedOdeh commentedReroll the patch to version 5.1.12
Comment #73
mohammedOdeh CreditAttribution: mohammedOdeh commentedReroll the patch to version 5.1.12
Comment #74
fallenturtle CreditAttribution: fallenturtle commentedWas it ever identified what the "5" in the readme picture was for? I'm having an issue where I'm getting a white screen of death with full calendar, but if I limit the results number, it'll start working again. What's the expected value to be used here? I always assumed show all... but maybe that's what's breaking my view.
Comment #75
mohammedOdeh CreditAttribution: mohammedOdeh commentedReroll the patch to version 5.1.13
Comment #76
junaidpvWe tried using the Fullcalendar Block instead of using this patch. But that module cannot be used as a replacement, especially when we want to have views exposed form. Also we need to configure it in two places, and configuring the date filter is confusing.
As the patch got rejected here. We decide to create a separate module to have this feature. It is Fullcalendar Dynamic. It is mostly a fork of the fullcalendar_view module. Please have look and please feel free to submit patches to fix any issues you encounter.
Comment #77
alex.tiupaUpdated patch from #74. I made some JS strings translatable.
Comment #78
alex.tiupa...
Comment #79
alex.tiupaMy bad, I fixed the mistake from previous patches.