diff --git a/src/generic_ui/polymer/advanced-settings.html b/src/generic_ui/polymer/advanced-settings.html index b28e00e254..78faa0dd1b 100644 --- a/src/generic_ui/polymer/advanced-settings.html +++ b/src/generic_ui/polymer/advanced-settings.html @@ -1,6 +1,5 @@ - @@ -64,16 +63,12 @@ background-color: rgb(240,240,240); padding-left: 10px; padding-top: 0; - padding-bottom: 0; margin-bottom: 0.75em; margin-top: 0.75em; } - #advancedSettingsDecorator { - height: 340px; - } - #advancedSettingsPaperTextarea { - height: 340px; - margin: 0em; + textarea[fit] { + /* fit does not properly size textareas on Firefox */ + height: 100%; } .advancedSettingsText { font-size: 12px; @@ -151,7 +146,7 @@

{{ 'EDIT_ADVANCED_SETTINGS' | $$ }}

-

diff --git a/src/generic_ui/polymer/advanced-settings.ts b/src/generic_ui/polymer/advanced-settings.ts index 5c0797bcbe..352a281554 100644 --- a/src/generic_ui/polymer/advanced-settings.ts +++ b/src/generic_ui/polymer/advanced-settings.ts @@ -39,13 +39,11 @@ Polymer({ checkSettings_: function(oldSettings :any, newSettings :any) { for (var key in oldSettings){ if (!(key in newSettings)) { - this.status = StatusState.KEY_VALUE_ERROR; return false; } } for (var key in newSettings){ if (!(key in oldSettings)) { - this.status = StatusState.KEY_VALUE_ERROR; return false; } } @@ -54,14 +52,16 @@ Polymer({ setAdvancedSettings: function() { try { var newSettings = JSON.parse(this.settings); - if (this.checkSettings_(ui_context.model.globalSettings, newSettings)) { - ui_context.model.globalSettings = newSettings; - this.status = StatusState.SET; - ui_context.core.updateGlobalSettings(ui_context.model.globalSettings); - - this.settings = this.jsonifySettings_(ui_context.model.globalSettings); - this.$.advancedSettingsPaperTextarea.update(); + if (!this.checkSettings_(ui_context.model.globalSettings, newSettings)) { + this.status = StatusState.KEY_VALUE_ERROR; + return; } + + ui_context.model.globalSettings = newSettings; + this.status = StatusState.SET; + ui_context.core.updateGlobalSettings(ui_context.model.globalSettings); + + this.settings = this.jsonifySettings_(ui_context.model.globalSettings); } catch (e) { this.status = StatusState.PARSE_ERROR; }