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)