Improve user feedback on the Profile > Design page

- Header changes immediately without a page reload
- Lets the user know that we actually saved their setting when changed
This commit is contained in:
Robert Speicher 2012-11-21 15:01:40 -05:00
parent 0046409970
commit 30a66c065a
7 changed files with 73 additions and 12 deletions

View file

@ -1,6 +1,10 @@
= form_for @user, url: profile_update_path, remote: true, method: :put do |f|
%fieldset
%legend Application theme
%fieldset.application-theme
%legend
Application theme
.update-feedback.hide
%i.icon-ok
Saved
.themes_opts
= label_tag do
.prev.default
@ -29,8 +33,12 @@
%br
.clearfix
%fieldset
%legend Code review
%fieldset.code-preview-theme
%legend
Code preview theme
.update-feedback.hide
%i.icon-ok
Saved
.code_highlight_opts
= label_tag do
.prev
@ -42,10 +50,3 @@
= image_tag "dark.png"
= f.radio_button :dark_scheme, true
Dark code preview
:javascript
$(function(){
$(".edit_user input").bind("click", function() {
$(".edit_user").submit();
});
})

View file

@ -0,0 +1,9 @@
// Remove body class for any previous theme, re-add current one
$('body').removeClass('ui_basic ui_mars ui_modern ui_gray ui_color')
$('body').addClass('<%= app_theme %>')
// Re-render the header to reflect the new theme
$('header').html('<%= escape_javascript(render("layouts/head_panel", title: "Profile")) %>')
// Re-initialize header tooltips
$('.has_bottom_tooltip').tooltip({placement: 'bottom'})