fix for undefined placeholder values

This commit is contained in:
Stephen Birarda 2014-09-25 18:25:16 -07:00
parent 697ae900dc
commit ba929626c2
3 changed files with 23 additions and 11 deletions

View file

@ -48,8 +48,7 @@
"name": "unattenuated-zone",
"label": "Unattenuated Zone",
"help": "Boxes for source and listener (corner x, corner y, corner z, size x, size y, size z, corner x, corner y, corner z, size x, size y, size z)",
"placeholder": "no zone",
"default": ""
"placeholder": "no zone"
},
{
"name": "dynamic-jitter-buffer",

View file

@ -5,15 +5,18 @@ var viewHelpers = {
setting_id = groupName + "." + setting.name
form_group = "<div class='form-group'>"
setting_value = _.has(values, groupName) && _.has(values[groupName], setting.name)
? values[groupName][setting.name]
: setting.default
if (_.has(values, groupName) && _.has(values[groupName], setting.name)) {
setting_value = values[groupName][setting.name]
} else if (_.has(setting, 'default')) {
setting_value = setting.default
} else {
setting_value = ""
}
console.log("Value for " + setting.name + " is " + setting_value)
if (setting.type === 'checkbox') {
form_group += "<label class='control-label'>" + setting.label + "</label>"
form_group += "<div class='checkbox'>"
form_group += "<label for='" + setting_id + "'>"
@ -21,9 +24,12 @@ var viewHelpers = {
form_group += " " + setting.help + "</label>";
form_group += "</div>"
} else {
input_type = _.has(setting, 'type') ? setting.type : "text"
form_group += "<label for='" + setting_id + "' class='control-label'>" + setting.label + "</label>";
form_group += "<input type='text' class='form-control' id='" + setting_id +
"' placeholder='" + setting.placeholder + "' value='" + setting_value + "'/>"
form_group += "<input type='" + input_type + "' class='form-control' id='" + setting_id +
"' placeholder='" + (_.has(setting, 'placeholder') ? setting.placeholder : "") +
"' value='" + setting_value + "'/>"
form_group += "<span class='help-block'>" + setting.help + "</span>"
}

View file

@ -99,7 +99,14 @@ bool DomainServerSettingsManager::handlePublicHTTPRequest(HTTPConnection* connec
if (variantValue.isNull()) {
// no value for this setting, pass the default
groupResponseObject[settingKey] = settingObject[SETTING_DEFAULT_KEY];
if (settingObject.contains(SETTING_DEFAULT_KEY)) {
groupResponseObject[settingKey] = settingObject[SETTING_DEFAULT_KEY];
} else {
// users are allowed not to provide a default for string values
// if so we set to the empty string
groupResponseObject[settingKey] = QString("");
}
} else {
groupResponseObject[settingKey] = QJsonValue::fromVariant(variantValue);
}