outfit renaming, plus some bug fixes here and there

This commit is contained in:
Emi Matchu 2010-11-24 20:51:01 -05:00
parent 55ab3d56d5
commit b308c0f0ba
6 changed files with 334 additions and 165 deletions

View file

@ -3,12 +3,12 @@ class OutfitsController < ApplicationController
def create
if user_signed_in?
outfit = Outfit.new params[:outfit]
outfit.user = current_user
if outfit.save
render :json => outfit.id
@outfit = Outfit.new params[:outfit]
@outfit.user = current_user
if @outfit.save
render :json => @outfit.id
else
render :json => {:errors => outfit.errors}, :status => :bad_request
render_outfit_errors
end
else
render :json => {:errors => {:user => ['not logged in']}}, :status => :forbidden
@ -21,7 +21,11 @@ class OutfitsController < ApplicationController
end
def destroy
authenticate_action &:destroy
if @outfit.destroy
render :json => true
else
render :json => false, :status => :bad_request
end
end
def new
@ -39,21 +43,21 @@ class OutfitsController < ApplicationController
end
def update
authenticate_action { |outfit| outfit.update_attributes(params[:outfit]) }
if @outfit.update_attributes(params[:outfit])
render :json => true
else
render_outfit_errors
end
end
private
def authenticate_action
if yield(@outfit)
render :json => true
else
render :json => false, :status => :bad_request
end
end
def find_authorized_outfit
raise ActiveRecord::RecordNotFound unless user_signed_in?
@outfit = current_user.outfits.find(params[:id])
end
def render_outfit_errors
render :json => {:errors => @outfit.errors}, :status => :bad_request
end
end

View file

@ -64,22 +64,30 @@ $outfit-content-inner-width: $outfit-content-width - $outfit-header-padding
/* makes it not take up inline space
position: relative
width: 16px
&.loading
&.loading .outfit-star
background-image: image-url("loading.gif") !important
h4
cursor: pointer
font-size: 115%
display: inline
&:hover
text-decoration: underline
h4, .outfit-rename-field
font-size: 115%
.outfit-rename-button, .outfit-rename-form
display: none
.outfit-rename-button
+opacity(.75)
font-size: 75%
margin-left: 1em
.outfit-url
+opacity(.5)
background: transparent
border-color: $background-color
border-width: 0
font-size: 75%
width: $outfit-content-inner-width
&:hover
+opacity(1)
border-color: $input-border-color
border-width: 1px
.outfit-delete-confirmation
display: none
font-size: 75%
@ -96,9 +104,25 @@ $outfit-content-inner-width: $outfit-content-width - $outfit-header-padding
display: none
.outfit-delete-confirmation
display: block
&.renaming
h4
display: none
.outfit-rename-form
display: inline
&:hover
.outfit-rename-button
display: none
&.starred
.outfit-star
background-image: image-url("star.png")
&:hover
.outfit-rename-button
display: inline
=sidebar-view-child
margin:
left: $sidebar-unit-horizontal-padding
right: $sidebar-unit-horizontal-padding
body.outfits-edit
#preview-toolbar
@ -262,12 +286,10 @@ body.outfits-edit
float: right
height: 100%
margin: 0
position: relative
width: auto
> div
height: 100%
overflow: auto
position: relative
width: $sidebar-width
.sidebar-view
h2
margin:
bottom: .25em
@ -355,14 +377,13 @@ body.outfits-edit
display: none
text-align: left
> ul
+sidebar-view-child
background: image-url("loading.gif") no-repeat center top
display: block
font-family: $main-font
list-style: none
margin:
bottom: 1em
left: $sidebar-unit-horizontal-padding
right: $sidebar-unit-horizontal-padding
min-height: 16px
> li
+outfit
@ -377,8 +398,10 @@ body.outfits-edit
top: 1em
#save-success, #save-error, #outfit-not-found
+sidebar-view-child
display: none
margin-top: 1em
margin:
top: 1em
text-align: center
#save-success
@ -393,6 +416,7 @@ body.outfits-edit
#new-outfit
+outfit
+sidebar-view-child
display: none
h4
display: inline

View file

@ -27,18 +27,18 @@
#outfit-not-found Outfit not found
#save-success Outfit successfully saved
#save-error
#preview-closet
#preview-closet.sidebar-view
%a#preview-sidebar-nav-outfits.preview-sidebar-nav{:href => '#'} Your outfits
%h2 Closet
%ul
%p#fullscreen-copyright
Images © 2000-2010 Neopets, Inc. All Rights Reserved.
Used With Permission
#preview-outfits
#preview-outfits.sidebar-view
%a#preview-sidebar-nav-closet.preview-sidebar-nav{:href => "#"} &larr; Back to Closet
%h2 Your outfits
%ul
#preview-saving-outfit
#preview-saving-outfit.sidebar-view
%a#preview-sidebar-nav-cancel-save.preview-sidebar-nav{:href => '#'} &larr; Cancel
%h2 Saving new outfit
#new-outfit
@ -95,6 +95,9 @@
%button.outfit-delete &times;
.outfit-star
%h4 ${name}
%a.outfit-rename-button{:href => '#'} rename
%form.outfit-rename-form
%input.outfit-rename-field{:type => 'text'}
%input.outfit-url{:type => 'text', :value => "http://#{request.host}/outfits/${id}"}
.outfit-delete-confirmation
%span Delete forever?

View file

@ -21,7 +21,18 @@
})();
$.fn.notify = function () {
this.stop().show('slow').delay(5000).hide('fast');
this.stop(true, true).show('slow').delay(5000).hide('fast');
}
$.fn.outfitLoading = function () {
this.delay(1000).queue(function (next) {
$(this).addClass('loading');
next();
});
}
$.fn.stopLoading = function () {
this.removeClass('loading').clearQueue();
}
var Partial = {}, main_wardrobe,
@ -449,6 +460,10 @@ View.Outfits = function (wardrobe) {
signed_in,
previously_viewing = '';
function liForOutfit(outfit) {
return $('li.outfit-' + outfit.id);
}
function navLinkTo(callback) {
return function (e) {
e.preventDefault();
@ -541,6 +556,30 @@ View.Outfits = function (wardrobe) {
wardrobe.outfit.load($(this).tmplItem().data.id);
});
$('a.outfit-rename-button').live('click', function (e) {
e.preventDefault();
var li = $(this).closest('li').addClass('renaming'),
name = li.find('h4').text();
li.find('input.outfit-rename-field').val(name).focus();
});
function submitRename() {
var el = $(this), outfit = el.tmplItem().data, new_name = el.val(),
li = el.closest('li').removeClass('renaming');
if(new_name != outfit.name) {
li.outfitLoading();
wardrobe.user.renameOutfit(outfit, new_name);
}
}
$('input.outfit-rename-field').live('blur', submitRename);
$('form.outfit-rename-form').live('submit', function (e) {
e.preventDefault();
var input = $(this).find('input');
submitRename.apply(input);
});
$('input.outfit-url').live('mouseover', function () {
this.focus();
}).live('mouseout', function () {
@ -568,14 +607,14 @@ View.Outfits = function (wardrobe) {
stars.live('click', function () {
var el = $(this);
setTimeout(function () { el.addClass('loading') }, 1000);
el.closest('li').outfitLoading();
wardrobe.user.toggleOutfitStar(el.tmplItem().data);
});
function setActiveOutfit(outfit) {
outfits_list_el.find('li.active').removeClass('active');
if(outfit.id) {
$('li.outfit-' + outfit.id).addClass('active');
liForOutfit(outfit).addClass('active');
save_current_outfit_name_el.text(outfit.name);
}
save_outfit_wrapper_el.toggleClass('active-outfit', outfit.id ? true : false);
@ -588,6 +627,12 @@ View.Outfits = function (wardrobe) {
wardrobe.outfit.bind('setOutfit', setActiveOutfit);
wardrobe.outfit.bind('outfitNotFound', setActiveOutfit);
wardrobe.user.bind('outfitRenamed', function (outfit) {
if(outfit.id == wardrobe.outfit.getId()) {
save_current_outfit_name_el.text(outfit.name);
}
});
/* Saving */
save_current_outfit_el.click(function () {
@ -627,7 +672,7 @@ View.Outfits = function (wardrobe) {
wardrobe.user.updateOutfit(outfit);
});
wardrobe.outfit.bind('saveFailure', function (response) {
function saveFailure(outfit, response) {
var errors = response.errors;
if(typeof errors == 'undefined') {
saveErrorMessage("Whoops! The save failed, but the server didn't say why. Please try again.");
@ -644,7 +689,11 @@ View.Outfits = function (wardrobe) {
}
}
}
});
liForOutfit(outfit).stopLoading();
}
wardrobe.outfit.bind('saveFailure', saveFailure);
wardrobe.user.bind('saveFailure', saveFailure)
/* Error */

View file

@ -334,7 +334,11 @@ function Wardrobe() {
Outfit.cache[outfit.id] = outfit;
success(outfit);
},
error: function () { if(typeof failure !== 'undefined') failure(outfit) }
error: function (xhr) {
if(typeof failure !== 'undefined') {
failure(outfit, $.parseJSON(xhr.responseText));
}
}
});
}
@ -367,6 +371,10 @@ function Wardrobe() {
return visible_assets;
}
this.rename = function (new_name, success, failure) {
this.updateAttributes({name: new_name}, success, failure);
}
this.setClosetItemsByIds = function (ids, updateItemsCallback) {
if(ids) closet_item_ids = ids;
if(ids && ids.length) {
@ -508,19 +516,19 @@ function Wardrobe() {
success(outfit);
},
error: function (xhr) {
error($.parseJSON(xhr.responseText));
error(outfit, $.parseJSON(xhr.responseText));
}
});
}
this.updateAttributes = function (attributes, success) {
this.updateAttributes = function (attributes, success, failure) {
var outfit_data = {};
for(var key in attributes) {
if(attributes.hasOwnProperty(key)) {
outfit_data[key] = outfit[key] = attributes[key];
}
}
sendUpdate(outfit_data, success);
sendUpdate(outfit_data, success, failure);
}
}
@ -770,6 +778,10 @@ function Wardrobe() {
return outfit.closet_items;
}
this.getId = function () {
return outfit.id;
}
this.getOutfit = function () {
return outfit;
}
@ -997,7 +1009,7 @@ function Wardrobe() {
function yankOutfit(outfit) {
var i;
for(i = 0; i < outfits.length; i++) {
if(outfit == outfits[i]) {
if(outfit.id == outfits[i].id) {
outfits.splice(i, 1);
break;
}
@ -1024,6 +1036,18 @@ function Wardrobe() {
}
}
this.renameOutfit = function (outfit, new_name) {
var old_name = outfit.name;
outfit.rename(new_name, function () {
yankOutfit(outfit);
insertOutfit(outfit);
controller.events.trigger('outfitRenamed', outfit);
}, function (outfit_copy, response) {
outfit.name = old_name;
controller.events.trigger('saveFailure', outfit_copy, response);
});
}
this.toggleOutfitStar = function (outfit) {
outfit.toggleStar(function () {
yankOutfit(outfit);

View file

@ -760,12 +760,12 @@ body.items-show .nc-icon {
}
@import url(../shared/jquery.jgrowl.css);
/* line 104, ../../../app/stylesheets/outfits/_edit.sass */
/* line 128, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-toolbar {
margin-bottom: 0.5em;
text-align: left;
}
/* line 107, ../../../app/stylesheets/outfits/_edit.sass */
/* line 131, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-toolbar form {
display: -moz-inline-box;
-moz-box-orient: vertical;
@ -775,23 +775,23 @@ body.outfits-edit #preview-toolbar form {
*vertical-align: auto;
margin-right: 2em;
}
/* line 110, ../../../app/stylesheets/outfits/_edit.sass */
/* line 134, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #pet-info form {
display: inline;
}
/* line 113, ../../../app/stylesheets/outfits/_edit.sass */
/* line 137, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #pet-state-form ul {
list-style: none;
}
/* line 115, ../../../app/stylesheets/outfits/_edit.sass */
/* line 139, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #pet-state-form ul, body.outfits-edit #pet-state-form ul li {
display: inline;
}
/* line 117, ../../../app/stylesheets/outfits/_edit.sass */
/* line 141, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #pet-state-form input {
display: none;
}
/* line 119, ../../../app/stylesheets/outfits/_edit.sass */
/* line 143, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #pet-state-form label {
/* http://www.zurb.com/blog_uploads/0000/0617/buttons-03.html */
-moz-border-radius: 5px;
@ -823,7 +823,7 @@ body.outfits-edit #pet-state-form label:hover {
body.outfits-edit #pet-state-form label:active {
top: 1px;
}
/* line 122, ../../../app/stylesheets/outfits/_edit.sass */
/* line 146, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #pet-state-form li.selected label {
background: #0b61a4 url('/images/alert-overlay.png?1289168102') repeat-x;
}
@ -831,15 +831,15 @@ body.outfits-edit #pet-state-form li.selected label {
body.outfits-edit #pet-state-form li.selected label:hover {
background-color: #005093;
}
/* line 124, ../../../app/stylesheets/outfits/_edit.sass */
/* line 148, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #pet-state-form.hidden {
visibility: hidden;
}
/* line 126, ../../../app/stylesheets/outfits/_edit.sass */
/* line 150, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #save-outfit-wrapper {
float: right;
}
/* line 128, ../../../app/stylesheets/outfits/_edit.sass */
/* line 152, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #save-outfit-wrapper button {
background: #ff5c00 url('/images/alert-overlay.png?1289168102') repeat-x;
display: none;
@ -848,11 +848,11 @@ body.outfits-edit #save-outfit-wrapper button {
body.outfits-edit #save-outfit-wrapper button:hover {
background-color: #ee4b00;
}
/* line 131, ../../../app/stylesheets/outfits/_edit.sass */
/* line 155, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview {
clear: both;
}
/* line 133, ../../../app/stylesheets/outfits/_edit.sass */
/* line 157, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-swf {
float: left;
height: 400px;
@ -860,7 +860,7 @@ body.outfits-edit #preview-swf {
position: relative;
width: 400px;
}
/* line 139, ../../../app/stylesheets/outfits/_edit.sass */
/* line 163, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-swf-overlay {
-moz-opacity: 0;
-webkit-opacity: 0;
@ -873,7 +873,7 @@ body.outfits-edit #preview-swf-overlay {
top: 0;
width: 100%;
}
/* line 147, ../../../app/stylesheets/outfits/_edit.sass */
/* line 171, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-sidebar {
float: left;
height: 400px;
@ -881,68 +881,68 @@ body.outfits-edit #preview-sidebar {
margin-bottom: 1em;
width: 380px;
}
/* line 154, ../../../app/stylesheets/outfits/_edit.sass */
/* line 178, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-sidebar.viewing-outfits #preview-closet {
display: none;
}
/* line 156, ../../../app/stylesheets/outfits/_edit.sass */
/* line 180, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-sidebar.viewing-outfits #preview-outfits {
display: block;
}
/* line 158, ../../../app/stylesheets/outfits/_edit.sass */
/* line 182, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-sidebar.viewing-saving-outfit {
height: auto;
max-height: 100%;
}
/* line 161, ../../../app/stylesheets/outfits/_edit.sass */
/* line 185, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-sidebar.viewing-saving-outfit #preview-closet {
display: none;
}
/* line 163, ../../../app/stylesheets/outfits/_edit.sass */
/* line 187, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-sidebar.viewing-saving-outfit #preview-saving-outfit {
display: block;
}
/* line 166, ../../../app/stylesheets/outfits/_edit.sass */
/* line 190, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-closet h2 {
margin-bottom: 0;
}
/* line 168, ../../../app/stylesheets/outfits/_edit.sass */
/* line 192, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-closet ul {
text-align: center;
}
/* line 170, ../../../app/stylesheets/outfits/_edit.sass */
/* line 194, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-closet .object {
background: #eeffee;
}
/* line 172, ../../../app/stylesheets/outfits/_edit.sass */
/* line 196, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-closet .object img {
-moz-opacity: 0.5;
-webkit-opacity: 0.5;
-o-opacity: 0.5;
-khtml-opacity: 0.5;
}
/* line 174, ../../../app/stylesheets/outfits/_edit.sass */
/* line 198, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-closet .object.worn {
background: transparent;
}
/* line 176, ../../../app/stylesheets/outfits/_edit.sass */
/* line 200, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-closet .object.worn img {
-moz-opacity: 1;
-webkit-opacity: 1;
-o-opacity: 1;
-khtml-opacity: 1;
}
/* line 178, ../../../app/stylesheets/outfits/_edit.sass */
/* line 202, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-closet .object.no-assets {
background: #fbe3e4;
color: #8a1f11;
padding-bottom: 1.25em;
}
/* line 182, ../../../app/stylesheets/outfits/_edit.sass */
/* line 206, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-closet .object.no-assets .no-assets-message {
display: block;
}
/* line 184, ../../../app/stylesheets/outfits/_edit.sass */
/* line 208, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit .no-assets-message {
background: #f3dbdc;
bottom: 0;
@ -954,7 +954,7 @@ body.outfits-edit .no-assets-message {
position: absolute;
width: 100%;
}
/* line 194, ../../../app/stylesheets/outfits/_edit.sass */
/* line 218, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #no-assets-full-message {
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
@ -968,12 +968,12 @@ body.outfits-edit #no-assets-full-message {
top: -9999px;
width: 30em;
}
/* line 205, ../../../app/stylesheets/outfits/_edit.sass */
/* line 229, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-search-form {
clear: both;
text-align: left;
}
/* line 208, ../../../app/stylesheets/outfits/_edit.sass */
/* line 232, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-search-form h2 {
display: -moz-inline-box;
-moz-box-orient: vertical;
@ -983,7 +983,7 @@ body.outfits-edit #preview-search-form h2 {
*vertical-align: auto;
margin: 0 1em 0 0;
}
/* line 211, ../../../app/stylesheets/outfits/_edit.sass */
/* line 235, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-search-form input {
display: -moz-inline-box;
-moz-box-orient: vertical;
@ -992,7 +992,7 @@ body.outfits-edit #preview-search-form input {
*display: inline;
*vertical-align: auto;
}
/* line 213, ../../../app/stylesheets/outfits/_edit.sass */
/* line 237, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-search-form-pagination {
display: -moz-inline-box;
-moz-box-orient: vertical;
@ -1002,53 +1002,53 @@ body.outfits-edit #preview-search-form-pagination {
*vertical-align: auto;
margin-left: 2em;
}
/* line 216, ../../../app/stylesheets/outfits/_edit.sass */
/* line 240, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-search-form-pagination a, body.outfits-edit #preview-search-form-pagination span {
margin: 0 0.25em;
}
/* line 218, ../../../app/stylesheets/outfits/_edit.sass */
/* line 242, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-search-form-pagination .current {
font-weight: bold;
}
/* line 220, ../../../app/stylesheets/outfits/_edit.sass */
/* line 244, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-search-form-clear {
display: none;
font-size: 87.5%;
margin-left: 2em;
}
/* line 224, ../../../app/stylesheets/outfits/_edit.sass */
/* line 248, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-search-form-loading {
display: none;
font-size: 75%;
font-style: italic;
margin-left: 2em;
}
/* line 230, ../../../app/stylesheets/outfits/_edit.sass */
/* line 254, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-search-form-no-results {
display: none;
}
/* line 232, ../../../app/stylesheets/outfits/_edit.sass */
/* line 256, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-search-form-help {
font-size: 87.5%;
margin-left: 2em;
}
/* line 235, ../../../app/stylesheets/outfits/_edit.sass */
/* line 259, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit .search-helper {
font-family: inherit;
}
/* line 237, ../../../app/stylesheets/outfits/_edit.sass */
/* line 261, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit .possible-error {
display: none;
}
/* line 240, ../../../app/stylesheets/outfits/_edit.sass */
/* line 264, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #fullscreen-copyright {
display: none;
}
/* line 242, ../../../app/stylesheets/outfits/_edit.sass */
/* line 266, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit.fullscreen {
height: 100%;
}
/* line 245, ../../../app/stylesheets/outfits/_edit.sass */
/* line 269, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit.fullscreen #container {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
@ -1061,19 +1061,19 @@ body.outfits-edit.fullscreen #container {
position: relative;
width: 80%;
}
/* line 253, ../../../app/stylesheets/outfits/_edit.sass */
/* line 277, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit.fullscreen h1 {
display: none;
}
/* line 255, ../../../app/stylesheets/outfits/_edit.sass */
/* line 279, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit.fullscreen #short-url-response {
position: static;
}
/* line 257, ../../../app/stylesheets/outfits/_edit.sass */
/* line 281, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit.fullscreen #preview {
width: 100%;
}
/* line 259, ../../../app/stylesheets/outfits/_edit.sass */
/* line 283, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit.fullscreen #preview-sidebar {
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
@ -1081,26 +1081,21 @@ body.outfits-edit.fullscreen #preview-sidebar {
float: right;
height: 100%;
margin: 0;
position: relative;
width: auto;
}
/* line 267, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit.fullscreen #preview-sidebar > div {
height: 100%;
overflow: auto;
position: relative;
width: 400px;
}
/* line 271, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit.fullscreen #preview-sidebar > div h2 {
/* line 293, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit.fullscreen #preview-sidebar .sidebar-view h2 {
margin-bottom: 0.25em;
margin-left: 24px;
}
/* line 275, ../../../app/stylesheets/outfits/_edit.sass */
/* line 297, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit.fullscreen #preview-sidebar.viewing-saving-outfit {
height: auto;
max-height: 100%;
}
/* line 278, ../../../app/stylesheets/outfits/_edit.sass */
/* line 300, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit.fullscreen #preview-search-form {
bottom: 1.5em;
left: 0;
@ -1109,7 +1104,7 @@ body.outfits-edit.fullscreen #preview-search-form {
position: absolute;
width: 100%;
}
/* line 286, ../../../app/stylesheets/outfits/_edit.sass */
/* line 308, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit.fullscreen #preview-search-form-help div {
display: -moz-inline-box;
-moz-box-orient: vertical;
@ -1119,27 +1114,27 @@ body.outfits-edit.fullscreen #preview-search-form-help div {
*vertical-align: auto;
width: 48%;
}
/* line 289, ../../../app/stylesheets/outfits/_edit.sass */
/* line 311, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit.fullscreen #footer {
bottom: 0;
left: 0;
position: absolute;
width: 100%;
}
/* line 294, ../../../app/stylesheets/outfits/_edit.sass */
/* line 316, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit.fullscreen #footer ul, body.outfits-edit.fullscreen #footer p, body.outfits-edit.fullscreen #footer li {
display: inline;
}
/* line 296, ../../../app/stylesheets/outfits/_edit.sass */
/* line 318, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit.fullscreen #footer ul {
margin-right: 2em;
}
/* line 299, ../../../app/stylesheets/outfits/_edit.sass */
/* line 321, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit .object {
padding: 6px;
position: relative;
}
/* line 302, ../../../app/stylesheets/outfits/_edit.sass */
/* line 324, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit .object ul {
display: none;
left: 0;
@ -1147,11 +1142,11 @@ body.outfits-edit .object ul {
position: absolute;
top: 0;
}
/* line 308, ../../../app/stylesheets/outfits/_edit.sass */
/* line 330, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit .object ul li {
margin-bottom: 0.25em;
}
/* line 310, ../../../app/stylesheets/outfits/_edit.sass */
/* line 332, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit .object ul li a {
/* http://www.zurb.com/blog_uploads/0000/0617/buttons-03.html */
-moz-border-radius: 5px;
@ -1192,11 +1187,11 @@ body.outfits-edit .object ul li a:active {
body.outfits-edit .object ul li a:hover {
background-color: #999999;
}
/* line 316, ../../../app/stylesheets/outfits/_edit.sass */
/* line 338, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit .object:hover ul, body.outfits-edit .object:hover .object-info {
display: block;
}
/* line 323, ../../../app/stylesheets/outfits/_edit.sass */
/* line 345, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit .nc-icon {
background: url('/images/nc.png?1285023784') no-repeat;
height: 16px;
@ -1206,14 +1201,14 @@ body.outfits-edit .nc-icon {
top: 64px;
width: 16px;
}
/* line 331, ../../../app/stylesheets/outfits/_edit.sass */
/* line 353, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit .nc-icon:hover {
-moz-opacity: 0.5;
-webkit-opacity: 0.5;
-o-opacity: 0.5;
-khtml-opacity: 0.5;
}
/* line 334, ../../../app/stylesheets/outfits/_edit.sass */
/* line 356, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit .object-info {
-moz-border-radius: 12px;
-webkit-border-radius: 12px;
@ -1230,37 +1225,37 @@ body.outfits-edit .object-info {
top: 0;
width: 16px;
}
/* line 345, ../../../app/stylesheets/outfits/_edit.sass */
/* line 367, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit .object-info span {
font-family: "Droid Serif", Georgia, "Times New Roman", Times, serif;
font-weight: bold;
position: relative;
top: -2px;
}
/* line 351, ../../../app/stylesheets/outfits/_edit.sass */
/* line 373, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit .object-info:hover {
-moz-opacity: 1;
-webkit-opacity: 1;
-o-opacity: 1;
-khtml-opacity: 1;
}
/* line 354, ../../../app/stylesheets/outfits/_edit.sass */
/* line 376, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-outfits {
display: none;
text-align: left;
}
/* line 357, ../../../app/stylesheets/outfits/_edit.sass */
/* line 379, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-outfits > ul {
margin-left: 24px;
margin-right: 24px;
background: url('/images/loading.gif?1289657021') no-repeat center top;
display: block;
font-family: "Droid Sans", Helvetica, Arial, Verdana, sans-serif;
list-style: none;
margin-bottom: 1em;
margin-left: 24px;
margin-right: 24px;
min-height: 16px;
}
/* line 367, ../../../app/stylesheets/outfits/_edit.sass */
/* line 388, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-outfits > ul > li {
padding: 0.25em 0;
}
@ -1336,100 +1331,135 @@ body.outfits-edit #preview-outfits > ul > li .outfit-star {
width: 16px;
}
/* line 67, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-outfits > ul > li .outfit-star.loading {
body.outfits-edit #preview-outfits > ul > li.loading .outfit-star {
background-image: url('/images/loading.gif?1289657021') !important;
}
/* line 69, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-outfits > ul > li h4 {
cursor: pointer;
font-size: 115%;
display: inline;
}
/* line 72, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-outfits > ul > li h4:hover {
text-decoration: underline;
}
/* line 74, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-outfits > ul > li h4, body.outfits-edit #preview-outfits > ul > li .outfit-rename-field {
font-size: 115%;
}
/* line 76, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-outfits > ul > li .outfit-rename-button, body.outfits-edit #preview-outfits > ul > li .outfit-rename-form {
display: none;
}
/* line 78, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-outfits > ul > li .outfit-rename-button {
-moz-opacity: 0.75;
-webkit-opacity: 0.75;
-o-opacity: 0.75;
-khtml-opacity: 0.75;
font-size: 75%;
margin-left: 1em;
}
/* line 82, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-outfits > ul > li .outfit-url {
-moz-opacity: 0.5;
-webkit-opacity: 0.5;
-o-opacity: 0.5;
-khtml-opacity: 0.5;
background: transparent;
border-color: white;
border-width: 0;
font-size: 75%;
width: 284px;
}
/* line 80, ../../../app/stylesheets/outfits/_edit.sass */
/* line 88, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-outfits > ul > li .outfit-url:hover {
-moz-opacity: 1;
-webkit-opacity: 1;
-o-opacity: 1;
-khtml-opacity: 1;
border-color: #cceecc;
border-width: 1px;
}
/* line 83, ../../../app/stylesheets/outfits/_edit.sass */
/* line 91, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-outfits > ul > li .outfit-delete-confirmation {
display: none;
font-size: 75%;
}
/* line 86, ../../../app/stylesheets/outfits/_edit.sass */
/* line 94, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-outfits > ul > li .outfit-delete-confirmation span {
color: red;
}
/* line 88, ../../../app/stylesheets/outfits/_edit.sass */
/* line 96, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-outfits > ul > li .outfit-delete-confirmation a {
margin: 0 0.25em;
}
/* line 90, ../../../app/stylesheets/outfits/_edit.sass */
/* line 98, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-outfits > ul > li.active {
background: #eeffee;
}
/* line 93, ../../../app/stylesheets/outfits/_edit.sass */
/* line 101, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-outfits > ul > li.confirming-deletion .outfit-delete {
visibility: hidden;
}
/* line 95, ../../../app/stylesheets/outfits/_edit.sass */
/* line 103, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-outfits > ul > li.confirming-deletion .outfit-url {
display: none;
}
/* line 97, ../../../app/stylesheets/outfits/_edit.sass */
/* line 105, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-outfits > ul > li.confirming-deletion .outfit-delete-confirmation {
display: block;
}
/* line 100, ../../../app/stylesheets/outfits/_edit.sass */
/* line 108, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-outfits > ul > li.renaming h4 {
display: none;
}
/* line 110, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-outfits > ul > li.renaming .outfit-rename-form {
display: inline;
}
/* line 113, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-outfits > ul > li.renaming:hover .outfit-rename-button {
display: none;
}
/* line 116, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-outfits > ul > li.starred .outfit-star {
background-image: url('/images/star.png?1289657021');
}
/* line 369, ../../../app/stylesheets/outfits/_edit.sass */
/* line 119, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-outfits > ul > li:hover .outfit-rename-button {
display: inline;
}
/* line 390, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-outfits > ul.loaded {
background: transparent;
}
/* line 372, ../../../app/stylesheets/outfits/_edit.sass */
/* line 393, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit .preview-sidebar-nav {
float: right;
font-size: 85%;
margin-right: 24px;
margin-top: 1em;
}
/* line 379, ../../../app/stylesheets/outfits/_edit.sass */
/* line 400, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #save-success, body.outfits-edit #save-error, body.outfits-edit #outfit-not-found {
margin-left: 24px;
margin-right: 24px;
display: none;
margin-top: 1em;
text-align: center;
}
/* line 384, ../../../app/stylesheets/outfits/_edit.sass */
/* line 407, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #save-success {
background: #e6efc2;
border: 1px solid #c6d880;
color: #264409;
}
/* line 387, ../../../app/stylesheets/outfits/_edit.sass */
/* line 410, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #save-error, body.outfits-edit #outfit-not-found {
background: #fbe3e4;
border: 1px solid #fbc2c4;
color: #8a1f11;
}
/* line 390, ../../../app/stylesheets/outfits/_edit.sass */
/* line 413, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #userbar-message {
-moz-opacity: 0.5;
-webkit-opacity: 0.5;
@ -1437,9 +1467,11 @@ body.outfits-edit #userbar-message {
-khtml-opacity: 0.5;
display: none;
}
/* line 394, ../../../app/stylesheets/outfits/_edit.sass */
/* line 417, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #new-outfit {
padding: 0.25em 0;
margin-left: 24px;
margin-right: 24px;
display: none;
}
/* line 29, ../../../app/stylesheets/outfits/_edit.sass */
@ -1514,97 +1546,130 @@ body.outfits-edit #new-outfit .outfit-star {
width: 16px;
}
/* line 67, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #new-outfit .outfit-star.loading {
body.outfits-edit #new-outfit.loading .outfit-star {
background-image: url('/images/loading.gif?1289657021') !important;
}
/* line 69, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #new-outfit h4 {
cursor: pointer;
font-size: 115%;
display: inline;
}
/* line 72, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #new-outfit h4:hover {
text-decoration: underline;
}
/* line 74, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #new-outfit h4, body.outfits-edit #new-outfit .outfit-rename-field {
font-size: 115%;
}
/* line 76, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #new-outfit .outfit-rename-button, body.outfits-edit #new-outfit .outfit-rename-form {
display: none;
}
/* line 78, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #new-outfit .outfit-rename-button {
-moz-opacity: 0.75;
-webkit-opacity: 0.75;
-o-opacity: 0.75;
-khtml-opacity: 0.75;
font-size: 75%;
margin-left: 1em;
}
/* line 82, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #new-outfit .outfit-url {
-moz-opacity: 0.5;
-webkit-opacity: 0.5;
-o-opacity: 0.5;
-khtml-opacity: 0.5;
background: transparent;
border-color: white;
border-width: 0;
font-size: 75%;
width: 284px;
}
/* line 80, ../../../app/stylesheets/outfits/_edit.sass */
/* line 88, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #new-outfit .outfit-url:hover {
-moz-opacity: 1;
-webkit-opacity: 1;
-o-opacity: 1;
-khtml-opacity: 1;
border-color: #cceecc;
border-width: 1px;
}
/* line 83, ../../../app/stylesheets/outfits/_edit.sass */
/* line 91, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #new-outfit .outfit-delete-confirmation {
display: none;
font-size: 75%;
}
/* line 86, ../../../app/stylesheets/outfits/_edit.sass */
/* line 94, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #new-outfit .outfit-delete-confirmation span {
color: red;
}
/* line 88, ../../../app/stylesheets/outfits/_edit.sass */
/* line 96, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #new-outfit .outfit-delete-confirmation a {
margin: 0 0.25em;
}
/* line 90, ../../../app/stylesheets/outfits/_edit.sass */
/* line 98, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #new-outfit.active {
background: #eeffee;
}
/* line 93, ../../../app/stylesheets/outfits/_edit.sass */
/* line 101, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #new-outfit.confirming-deletion .outfit-delete {
visibility: hidden;
}
/* line 95, ../../../app/stylesheets/outfits/_edit.sass */
/* line 103, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #new-outfit.confirming-deletion .outfit-url {
display: none;
}
/* line 97, ../../../app/stylesheets/outfits/_edit.sass */
/* line 105, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #new-outfit.confirming-deletion .outfit-delete-confirmation {
display: block;
}
/* line 100, ../../../app/stylesheets/outfits/_edit.sass */
/* line 108, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #new-outfit.renaming h4 {
display: none;
}
/* line 110, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #new-outfit.renaming .outfit-rename-form {
display: inline;
}
/* line 113, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #new-outfit.renaming:hover .outfit-rename-button {
display: none;
}
/* line 116, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #new-outfit.starred .outfit-star {
background-image: url('/images/star.png?1289657021');
}
/* line 397, ../../../app/stylesheets/outfits/_edit.sass */
/* line 119, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #new-outfit:hover .outfit-rename-button {
display: inline;
}
/* line 421, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #new-outfit h4 {
display: inline;
}
/* line 399, ../../../app/stylesheets/outfits/_edit.sass */
/* line 423, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #new-outfit h4:hover {
text-decoration: none;
}
/* line 401, ../../../app/stylesheets/outfits/_edit.sass */
/* line 425, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #new-outfit .outfit-star {
margin-top: 0.5em;
}
/* line 404, ../../../app/stylesheets/outfits/_edit.sass */
/* line 428, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #new-outfit-name {
font: inherit;
line-height: 1;
}
/* line 408, ../../../app/stylesheets/outfits/_edit.sass */
/* line 432, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-saving-outfit {
display: none;
padding-bottom: 1em;
}
/* line 412, ../../../app/stylesheets/outfits/_edit.sass */
/* line 436, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #pet-type-form, body.outfits-edit #pet-state-form, body.outfits-edit #preview-swf, body.outfits-edit #preview-search-form {
position: relative;
}
/* line 415, ../../../app/stylesheets/outfits/_edit.sass */
/* line 439, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit .control-overlay {
height: 100%;
left: 0;
@ -1613,27 +1678,27 @@ body.outfits-edit .control-overlay {
width: 100%;
z-index: 5;
}
/* line 423, ../../../app/stylesheets/outfits/_edit.sass */
/* line 447, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-sidebar-nav-outfits, body.outfits-edit #save-outfit-signed-in {
display: none;
}
/* line 427, ../../../app/stylesheets/outfits/_edit.sass */
/* line 451, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit.user-signed-in #preview-sidebar-nav-outfits {
display: block;
}
/* line 429, ../../../app/stylesheets/outfits/_edit.sass */
/* line 453, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit.user-signed-in #save-outfit {
display: inline-block;
}
/* line 432, ../../../app/stylesheets/outfits/_edit.sass */
/* line 456, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit.user-signed-in #save-outfit-wrapper.active-outfit #save-outfit {
display: none;
}
/* line 434, ../../../app/stylesheets/outfits/_edit.sass */
/* line 458, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit.user-signed-in #save-outfit-wrapper.active-outfit #save-current-outfit, body.outfits-edit.user-signed-in #save-outfit-wrapper.active-outfit #save-outfit-copy {
display: inline-block;
}
/* line 438, ../../../app/stylesheets/outfits/_edit.sass */
/* line 462, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit.user-not-signed-in #save-outfit-not-signed-in {
display: inline-block;
}