Five New Optimizely Certifications are Here! Validate your expertise and advance your career with our latest certification exams. Click here to find out more
AI OnAI Off
Five New Optimizely Certifications are Here! Validate your expertise and advance your career with our latest certification exams. Click here to find out more
Hi!
I suggest that you create an init module on the client since this will make the code run at the right time. Here is a copy paste example from something I worked on recently:
Module.config:
<clientModule initializer="[your module class including namespace]">
<moduleDependencies>
<add dependency="CMS" type="Require RunAfter" />
</moduleDependencies>
</clientModule>
Client module sample:
define([ // Pull in the patches. Not used here, just evaluated, since this is the first module loaded when starting the application. "dojo/_base/declare", "dojo/_base/lang", "epi/_Module", "epi/dependency", "instantTemplates/AddItemFromTemplateCommandProvider" ], function ( declare, lang, _Module, dependency, AddItemFromTemplateCommandProvider ) { return declare([_Module], { // summary: // Template module implementation. // // tags: // internal _settings: null, constructor: function (settings) { this._settings = settings; }, initialize: function () { var commandregistry = dependency.resolve("epi.globalcommandregistry"); //We need to wait for the viewsettings to initialized before creating the global toolbar command provider commandregistry.registerProvider("epi.cms.globalToolbar", new AddItemFromTemplateCommandProvider({templatesRoot : this._settings.templatesRoot})); } }); });
Linus,
That did it for me (specifically the module.config settings) - thanks!.
I have the following javascript in the file ClientResources/Scripts/widgets/media/Mediacommands.js:
My module.config looks like this:
This is intended to add a button to the Editor toolbar, and *sometimes* works. However around 70% of the time I see the error Can't resolve dependency "epi.globalcommandregistry" in the console.
This corresponds to the line registry = dependency.resolve('epi.globalcommandregistry'), in the javascript above.
Is there any reason why the dependency can't be resolved at some times and more to the point, how can I ensure it's resolved every time?
Thanks,
Mark