Solved - it turns out that Tapestry loads its own version of moment.js
which is incompatible with fullcalendar.
This does the trick:
@Contribute(ModuleManager.class)
public static void configureScheduler(MappedConfiguration<String,
Object> configuration,
@Path("classpath:META-INF/assets/scheduler-1.9.4/lib/moment.min.js")
Resource momentJs,
@Path("classpath:META-INF/assets/scheduler-1.9.4/lib/fullcalendar.js")
Resource fullCalendarJs,
@Path("classpath:META-INF/assets/scheduler-1.9.4/scheduler.js")
Resource schedulerJs) {
configuration.override("moment", new
JavaScriptModuleConfiguration(momentJs));
configuration.add("fullcalendar", new
JavaScriptModuleConfiguration(fullCalendarJs).dependsOn("moment").exports("fullcalendar"));
}
On Sat, Nov 10, 2018 at 8:53 AM Ilya Obshadko <[email protected]> wrote:
> Anyone tried using fullcalendar with Tapestry 5.4.x?
>
> I'm getting an error 'RequireJS error: define: momentProperties.push is
> not a function'.
> I believe this has something to do with moment.js initialization, but
> can't figure it out.
>
> Searching relevant topics on the web didn't quite help. Any help would be
> appreciated.
>
>
> --
> Ilya Obshadko
>
>
>
>
--
Ilya Obshadko