Other people have complained about this since 1.0 beta. Here is the console error which doesn't make much sense.
red.min.js:16 Uncaught TypeError: Cannot read property 'icon' of undefined
at t.<computed>.<computed>._updateOptionSelectLabel (red.min.js:16)
at t.<computed>.<computed>._updateOptionSelectLabel (vendor.js:formatted:4691)
at t.<computed>.<computed>.value (red.min.js:16)
at t.<computed>.<computed>.value (vendor.js:formatted:4691)
at HTMLInputElement.<anonymous> (vendor.js:formatted:4734)
at Function.each (vendor.js:formatted:146)
at e.fn.init.each (vendor.js:formatted:74)
at e.fn.init.t.fn.<computed> [as typedInput] (vendor.js:formatted:4731)
at Object.addItem (<anonymous>:48:34)
at red.min.js:16
I tracked it down to this code block but it's this single line that causes the issue
propertyName.typedInput('value', property.p);
With the type as flow or global the value can not be set. Any ideas on what to try? I change this to a str instead and I don't get any more errors but the code obviously doesn't work.
$('#node-input-config-container').css('min-height','300px').css('min-width','450px').editableList({
addItem: function(container,i,property) {
if (!property.hasOwnProperty('p')) {
property = {p:"",pt:"flow",to:"",tot:"str"};
}
var row1 = $('<div/>').appendTo(container);
var row2 = $('<div/>',{style:"margin-top:8px;"}).appendTo(container);
$('<label/>',{for:"node-input-config-property-name",style:"width:110px; margin-right:10px;"}).text("Property").appendTo(row1);
var propertyName = $('<input/>',{style:"width:250px",class:"node-input-config-property-name",type:"text"})
.appendTo(row1)
.typedInput({types:['flow','global']}).focus();
$('<label/>',{for:"node-input-config-property-value",style:"width:110px; margin-right:10px;"}).text("Value").appendTo(row2);
var propertyValue = $('<input/>',{style:"width:250px",class:"node-input-config-property-value",type:"text"})
.appendTo(row2)
.typedInput({types:['str','num','bool','json','date']});
propertyName.typedInput('type', property.pt);
propertyName.typedInput('value', property.p);
propertyValue.typedInput('value',property.to);
propertyValue.typedInput('type',property.tot);
var newWidth = $("#node-input-config-container").width();
resizeConfig(container);
},
resizeItem: resizeConfig,
removable: true,
sortable: false
});
The module is node-red-contrib-config