Hi Balázs, You're right and it is a bug in tapestry. JavaScriptSupport.addInitializerCall is not backwards compatible when using a JSONArray. I filled a JIRA with a patch https://issues.apache.org/jira/browse/TAP5-2300 so please follow. I hope it get's resolved soon. If not I'll probably release a new version of tapestry-ckeditor. I wan't it to be compatible with 5.4 ASAP.
Thanks for reporting this one and for the debugging info. Cheers, Dragan Sahpaski On Thu, Mar 13, 2014 at 7:22 PM, Balázs Palcsó <palcso.bal...@gmail.com>wrote: > Hi All, > > I am trying to use tynamo/ckeditor mixin. Here is the template code: > > <t:textarea t:id="description" value="job.description" rows="8" > t:mixins="tynamo/ckeditor" parameters="{'toolbar': 'Full'}" /> > > > I get the following error > Invoking t5/core/init("initCKEditor", ["description",{"toolbar":"Full"}]) > > 1. RequireJS error: require: Cannot set property 'visibility' of > undefined console.js:109< > http://localhost:8080/AjanlatotKapok.hu/modules.gz/t5/core/console.js> > 1. (anonymous > function)console.js:109< > http://localhost:8080/AjanlatotKapok.hu/modules.gz/t5/core/console.js> > 2. requirejs.onErrorconsole.js:136< > http://localhost:8080/AjanlatotKapok.hu/modules.gz/t5/core/console.js> > 3. onErrorrequire.js:537< > http://localhost:8080/AjanlatotKapok.hu/assets/meta/z87656c56/tapestry5/require.js > > > 4. Module.checkrequire.js:886< > http://localhost:8080/AjanlatotKapok.hu/assets/meta/z87656c56/tapestry5/require.js > > > 5. (anonymous > function)require.js:1113< > http://localhost:8080/AjanlatotKapok.hu/assets/meta/z87656c56/tapestry5/require.js > > > 6. (anonymous > function)require.js:132< > http://localhost:8080/AjanlatotKapok.hu/assets/meta/z87656c56/tapestry5/require.js > > > 7. (anonymous > function)require.js:1156< > http://localhost:8080/AjanlatotKapok.hu/assets/meta/z87656c56/tapestry5/require.js > > > 8. eachrequire.js:57< > http://localhost:8080/AjanlatotKapok.hu/assets/meta/z87656c56/tapestry5/require.js > > > 9. Module.emitrequire.js:1155< > http://localhost:8080/AjanlatotKapok.hu/assets/meta/z87656c56/tapestry5/require.js > > > 10. Module.checkrequire.js:917< > http://localhost:8080/AjanlatotKapok.hu/assets/meta/z87656c56/tapestry5/require.js > > > 11. Module.enablerequire.js:1143< > http://localhost:8080/AjanlatotKapok.hu/assets/meta/z87656c56/tapestry5/require.js > > > 12. Module.initrequire.js:774< > http://localhost:8080/AjanlatotKapok.hu/assets/meta/z87656c56/tapestry5/require.js > > > 13. callGetModulerequire.js:1170< > http://localhost:8080/AjanlatotKapok.hu/assets/meta/z87656c56/tapestry5/require.js > > > 14. context.completeLoadrequire.js:1544< > http://localhost:8080/AjanlatotKapok.hu/assets/meta/z87656c56/tapestry5/require.js > > > 15. context.onScriptLoad > > > > After some JavaScript debugging I found that > Tapestry.Initializer.initCKEditor is called with incorrect arguments. > > Tapestry.Initializer.initCKEditor = function(textareaId, ckeditorInitJSON) > { > > arguments when it gets called: > > 1. ckeditorInitJSON: undefined > 2. textareaId: Array[2] > 1. 0: "description" > 2. 1: Object > 1. toolbar: "Full" > 2. __proto__: Object > 3. length: 2 > 4. __proto__: Array[0] > > > The correct would be this I assume > > 1. ckeditorInitJSON: Object > 2. toolbar: "Full" > 3. __proto__: Object > 4. textareaId: "description" > > > It looks like to me that the module initialization is not backward > compatible. > Is this known/expected? Shall I raise a JIRA? > > Thanks and regards, > Balazs Palcso >