@@ -25,69 +27,136 @@ limitations under the License.
background-color: var(--view-background-color);
display: block;
}
+ main {
+ margin: 2em auto;
+ max-width: 40em;
+ }
+ h1 {
+ margin-bottom: .1em;
+ }
fieldset {
border: none;
- display: table;
+ margin: 0 0 2em 2em;
}
section {
- display: table-row;
- }
- section:not(:first-of-type) {
- margin-top: 1em;
- }
- section:not(:first-of-type) .title,
- section:not(:first-of-type) .value {
- padding-top: .5em;
+ margin-bottom: .5em;
}
.title,
.value {
- display: table-cell;
+ display: inline-block;
vertical-align: top;
}
.title {
color: #666;
font-weight: bold;
+ width: 15em;
padding-right: .5em;
}
.loading {
color: #666;
padding: 1em var(--default-horizontal-margin);
}
- @media only screen and (max-width: 50em) {
+ @media only screen and (max-width: 40em) {
.loading {
padding: 0 var(--default-horizontal-margin);
}
+ main {
+ margin: 2em 1em;
+ }
+ section {
+ margin-bottom: 1em;
+ }
+ .title,
+ .value {
+ display: block;
+ }
}
Loading...
-
User Settings
- Profile
-
+
+ User Settings
+ Profile
+
+ Preferences
+
+
diff --git a/polygerrit-ui/app/elements/settings/gr-settings-view/gr-settings-view.js b/polygerrit-ui/app/elements/settings/gr-settings-view/gr-settings-view.js
index 044eb4653c..fb711d4fa4 100644
--- a/polygerrit-ui/app/elements/settings/gr-settings-view/gr-settings-view.js
+++ b/polygerrit-ui/app/elements/settings/gr-settings-view/gr-settings-view.js
@@ -30,8 +30,16 @@
type: Boolean,
value: true,
},
+ _prefsChanged: {
+ type: Boolean,
+ value: false,
+ },
},
+ observers: [
+ '_handlePrefsChanged(prefs.*)',
+ ],
+
attached: function() {
var promises = [];
@@ -52,5 +60,16 @@
if (!registered) { return ''; }
return util.parseDate(registered).toGMTString();
},
+
+ _handlePrefsChanged: function() {
+ if (this._loading || this._loading === undefined) { return; }
+ this._prefsChanged = true;
+ },
+
+ _handleSavePreferences: function() {
+ this.$.restAPI.savePreferences(this.prefs).then(function() {
+ this._prefsChanged = false;
+ }.bind(this));
+ },
});
})();
diff --git a/polygerrit-ui/app/elements/shared/gr-rest-api-interface/gr-rest-api-interface.js b/polygerrit-ui/app/elements/shared/gr-rest-api-interface/gr-rest-api-interface.js
index 298daf7a13..396ae9016a 100644
--- a/polygerrit-ui/app/elements/shared/gr-rest-api-interface/gr-rest-api-interface.js
+++ b/polygerrit-ui/app/elements/shared/gr-rest-api-interface/gr-rest-api-interface.js
@@ -198,6 +198,11 @@
}.bind(this));
},
+ savePreferences: function(prefs, opt_errFn, opt_ctx) {
+ return this.send('PUT', '/accounts/self/preferences', prefs, opt_errFn,
+ opt_ctx);
+ },
+
saveDiffPreferences: function(prefs, opt_errFn, opt_ctx) {
return this.send('PUT', '/accounts/self/preferences.diff', prefs,
opt_errFn, opt_ctx);
diff --git a/polygerrit-ui/app/elements/shared/gr-select/gr-select.html b/polygerrit-ui/app/elements/shared/gr-select/gr-select.html
new file mode 100644
index 0000000000..fed81bbd2e
--- /dev/null
+++ b/polygerrit-ui/app/elements/shared/gr-select/gr-select.html
@@ -0,0 +1,20 @@
+
+
+