Since resolution of RUNTIME-3249.
The #setReadOnly function iterates of each child items to call #setReadOnly. But in some cases the #setReadOnly could be called whereas the items are not yet rendered.
This is the same for #enable or #disable function.
The externalizable widget defines "readOnly" to false in its object "config". This is a use case where the #setReadOnly is called too soon.
To reproduce, edit a program with some externalizables fields (ie. with a local and external values)
The following js error occurs :
Entry.js:139 2019-10-04T16:36:21+02:00 ERROR [Ametys.data.ServerComm] Une erreur est survenue dans le traitement de la réponse serveur (TypeError: this.items.each is not a function) TypeError: this.items.each is not a function at constructor.setReadOnly (AbstractFieldsWrapper.js:419) at Ext.Configurator.configure (ext-all.js:12193) at constructor.initConfig (ext-all.js:13761) at constructor.callParent (ext-all.js:13609) at constructor.initConfig (Ext.enhancements.js:227) at constructor.newMethod [as initConfig] (ext-all.js:7449) at constructor (ext-all.js:73914) at constructor.callParent (ext-all.js:13609) at constructor (AbstractField.js:123) at constructor.callParent (ext-all.js:13609)