_processWidgetValue: function()

in broker-plugins/management-http/src/main/java/resources/js/qpid/common/widgetconfigurer.js [101:182]


        _processWidgetValue: function (widget, category, type, data, meta, effectiveData)
        {
            var widgetName = widget.name;
            if (widgetName)
            {
                var defaultValue = meta.getDefaultValueForAttribute(category, type, widgetName);
                var dataValue = data && widgetName in data ? data[widgetName] : null;

                // Stash the default value and initial value so we can later differentiate
                // when sending updates to the server

                if (defaultValue !== null && defaultValue !== undefined)
                {
                    widget.defaultValue = defaultValue;
                }

                if (dataValue !== null && dataValue !== undefined)
                {
                    widget.initialValue = dataValue;
                }

                if (widget instanceof dijit.form.FilteringSelect || widget instanceof dojox.form.CheckedMultiSelect)
                {
                    var widgetValue = dataValue;
                    if ((dataValue === null || dataValue === undefined)
                        && defaultValue !== null && defaultValue !== undefined)
                    {
                        if (new String(defaultValue).indexOf("${") == -1)
                        {
                            widgetValue = defaultValue;
                        }
                        else if (effectiveData &&  effectiveData.hasOwnProperty(widgetName)
                                 && effectiveData[widgetName] !== null && effectiveData[widgetName] !== undefined)
                        {
                            widgetValue =  effectiveData[widgetName];
                            widget.effectiveDefaultValue = widgetValue;
                        }
                    }

                    if (widgetValue)
                    {
                        widget.set("value", widgetValue);
                    }
                }
                else if (widget instanceof dijit.form.CheckBox)
                {
                    var widgetValue = dataValue == null ? (defaultValue == "true") : dataValue;
                    widget.set("checked", widgetValue ? true : false);
                }
                else
                {
                    if (dataValue)
                    {
                        var attributes = meta.getMetaData(category, type).attributes;
                        if (attributes && widgetName in attributes)
                        {
                            var attribute = attributes[widgetName];
                            if (attribute.secure)
                            {
                                widget.set("secureAttribute", true);
                                if (!/^\*+/.test(dataValue))
                                {
                                    widget.set("value", dataValue);
                                }
                                else
                                {
                                    widget.set("placeHolder", dataValue);
                                }
                            }
                            else
                            {
                                widget.set("value", dataValue);
                            }
                        }
                        else
                        {
                            widget.set("value", dataValue);
                        }
                    }
                }
            }
        },