filter lists on petpage export

This commit is contained in:
Emi Matchu 2012-04-08 15:59:51 -05:00
parent 5218b43df4
commit f3d64840d6
7 changed files with 346 additions and 40 deletions

View file

@ -14,8 +14,19 @@ class ClosetHangersController < ApplicationController
def index
@public_perspective = params.has_key?(:public) || !user_is?(@user)
find_closet_hangers!
@perspective_user = current_user unless @public_perspective
closet_lists = @user.closet_lists
unless @perspective_user == @user
# If we run this when the user matches, we'll end up with effectively:
# WHERE belongs_to_user AND (is_public OR belongs_to_user)
# and it's a bit silly to put the SQL server through a condition that's
# always true.
closet_lists = closet_lists.visible_to(@perspective_user)
end
@closet_lists_by_owned = find_closet_lists_by_owned(closet_lists)
visible_groups = @user.closet_hangers_groups_visible_to(@perspective_user)
@unlisted_closet_hangers_by_owned = find_unlisted_closet_hangers_by_owned(visible_groups)
if @public_perspective && user_signed_in?
items = []
@ -34,8 +45,38 @@ class ClosetHangersController < ApplicationController
end
def petpage
@public_perspective = true
find_closet_hangers!
# Find all closet lists, and also the hangers of the visible closet lists
closet_lists = @user.closet_lists.select([:id, :name, :hangers_owned]).alphabetical
if params[:filter]
# If user specified which lists should be visible, restrict to those
if params[:lists] && params[:lists].respond_to?(:keys)
visible_closet_lists = closet_lists.where(:id => params[:lists].keys)
else
visible_closet_lists = []
end
else
# Otherwise, default to public lists
visible_closet_lists = closet_lists.public
end
@closet_lists_by_owned = closet_lists.group_by(&:hangers_owned)
@visible_closet_lists_by_owned = find_closet_lists_by_owned(visible_closet_lists)
# Find which groups (own/want) should be visible
if params[:filter]
# If user specified which groups should be visible, restrict to those
# (must be either true or false)
@visible_groups = []
if params[:groups] && params[:groups].respond_to?(:keys)
@visible_groups << true if params[:groups].keys.include?('true')
@visible_groups << false if params[:groups].keys.include?('false')
end
else
# Otherwise, default to public groups
@visible_groups = @user.public_closet_hangers_groups
end
@visible_unlisted_closet_hangers_by_owned =
find_unlisted_closet_hangers_by_owned(@visible_groups)
end
def create
@ -135,27 +176,19 @@ class ClosetHangersController < ApplicationController
end
end
def find_closet_hangers!
@perspective_user = current_user unless @public_perspective
@closet_lists_by_owned = @user.closet_lists.
alphabetical.includes(:hangers => :item)
unless @perspective_user == @user
# If we run this when the user matches, we'll end up with effectively:
# WHERE belongs_to_user AND (is_public OR belongs_to_user)
# and it's a bit silly to put the SQL server through a condition that's
# always true.
@closet_lists_by_owned = @closet_lists_by_owned.visible_to(@perspective_user)
end
@closet_lists_by_owned = @closet_lists_by_owned.group_by(&:hangers_owned)
visible_groups = @user.closet_hangers_groups_visible_to(@perspective_user)
def find_closet_lists_by_owned(closet_lists)
return {} if closet_lists == []
closet_lists.alphabetical.includes(:hangers => :item).
group_by(&:hangers_owned)
end
def find_unlisted_closet_hangers_by_owned(visible_groups)
unless visible_groups.empty?
@unlisted_closet_hangers_by_owned = @user.closet_hangers.unlisted.
@user.closet_hangers.unlisted.
owned_before_wanted.alphabetical_by_item_name.includes(:item).
where(:owned => [visible_groups]).group_by(&:owned)
else
@unlisted_closet_hangers_by_owned = {}
{}
end
end

View file

@ -75,6 +75,15 @@ module ClosetHangersHelper
def nc_icon_url
"http://#{request.host}#{image_path 'nc.png'}"
end
def petpage_closet_list_checked(closet_list, owned)
@visible_closet_lists_by_owned.has_key?(owned) &&
@visible_closet_lists_by_owned[owned].include?(closet_list)
end
def petpage_group_checked(owned)
@visible_groups.include?(owned)
end
def petpage_item_name(item)
item.name.gsub(/ On/i, ' O<b></b>n').html_safe

View file

@ -69,7 +69,14 @@ class User < ActiveRecord::Base
end
def closet_hangers_groups_visible_to(user)
return [true, false] if user == self
if user == self
[true, false]
else
public_closet_hangers_groups
end
end
def public_closet_hangers_groups
[].tap do |groups|
groups << true if owned_closet_hangers_visibility >= ClosetVisibility[:public].id
groups << false if wanted_closet_hangers_visibility >= ClosetVisibility[:public].id

View file

@ -1,12 +1,58 @@
@import "compass/css3/border-radius"
@import "compass/css3/inline-block"
body.closet_hangers-petpage
+secondary-nav
#intro
clear: both
#petpage-closet-lists
+clearfix
+border-radius(10px)
border: 1px solid $soft-border-color
margin-bottom: 1.5em
padding: .5em 1.5em
> div
margin: .25em 0
h4
+inline-block
width: 8em
vertical-align: middle
&::after
content: ":"
ul
list-style: none
margin: 0
padding: 0
li
+inline-block
font-size: 85%
margin: .25em .5em
padding: 1px
label
padding: .25em .75em .25em .25em
&.checked
background: $module-bg-color
+border-radius(3px)
border: 1px solid $module-border-color
padding: 0
&.unlisted
font-style: italic
input[type=submit]
float: right
#petpage-output
display: block
height: 30em
margin: 0 auto
width: 50%

View file

@ -15,8 +15,27 @@
= link_to "your pet's page", 'http://www.neopets.com/edithomepage.phtml'
Then head to the Neoboards to show off! Have fun!
= form_tag petpage_user_closet_hangers_path(@user), :method => :get, :id => 'petpage-closet-lists' do
= hidden_field_tag 'filter', '1'
- @closet_lists_by_owned.each do |owned, closet_lists|
%div
%h4 Items you #{closet_list_verb(owned)}
%ul
- closet_lists.each do |closet_list|
%li
= label_tag do
= check_box_tag "lists[#{closet_list.id}]", '1', petpage_closet_list_checked(closet_list, owned)
= closet_list.name
%li.unlisted
= label_tag do
= check_box_tag "groups[#{owned}]", '1', petpage_group_checked(owned)
Not in a list
= submit_tag 'Export checked lists to petpage'
%textarea#petpage-output
= '' + render('petpage_content',
:lists_by_owned => @closet_lists_by_owned,
:unlisted_hangers_by_owned => @unlisted_closet_hangers_by_owned)
:lists_by_owned => @visible_closet_lists_by_owned,
:unlisted_hangers_by_owned => @visible_unlisted_closet_hangers_by_owned)
= include_javascript_libraries :jquery
= javascript_include_tag 'closet_hangers/petpage'

View file

@ -0,0 +1,8 @@
(function () {
function setChecked() {
var el = $(this);
el.closest('li').toggleClass('checked', el.is(':checked'));
}
$('#petpage-closet-lists input').click(setChecked).each(setChecked);
})();

View file

@ -1342,11 +1342,96 @@ body.closet_hangers-petpage #secondary-nav {
display: block;
margin-top: 0.75em;
}
/* line 4, ../../../app/stylesheets/closet_hangers/_petpage.sass */
/* line 7, ../../../app/stylesheets/closet_hangers/_petpage.sass */
body.closet_hangers-petpage #intro {
clear: both;
}
/* line 7, ../../../app/stylesheets/closet_hangers/_petpage.sass */
/* line 10, ../../../app/stylesheets/closet_hangers/_petpage.sass */
body.closet_hangers-petpage #petpage-closet-lists {
overflow: hidden;
display: inline-block;
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
-o-border-radius: 10px;
-ms-border-radius: 10px;
-khtml-border-radius: 10px;
border-radius: 10px;
border: 1px solid #aaddaa;
margin-bottom: 1.5em;
padding: 0.5em 1.5em;
}
/* line 8, ../../../app/stylesheets/partials/clean/_mixins.sass */
body.closet_hangers-petpage #petpage-closet-lists {
display: block;
}
/* line 17, ../../../app/stylesheets/closet_hangers/_petpage.sass */
body.closet_hangers-petpage #petpage-closet-lists > div {
margin: 0.25em 0;
}
/* line 20, ../../../app/stylesheets/closet_hangers/_petpage.sass */
body.closet_hangers-petpage #petpage-closet-lists h4 {
display: -moz-inline-box;
-moz-box-orient: vertical;
display: inline-block;
vertical-align: middle;
*vertical-align: auto;
width: 8em;
vertical-align: middle;
}
/* line 7, ../../../../../../.rvm/gems/ruby-1.9.2-p290/gems/compass-0.10.6/frameworks/compass/stylesheets/compass/css3/_inline-block.scss */
body.closet_hangers-petpage #petpage-closet-lists h4 {
*display: inline;
}
/* line 25, ../../../app/stylesheets/closet_hangers/_petpage.sass */
body.closet_hangers-petpage #petpage-closet-lists h4::after {
content: ":";
}
/* line 28, ../../../app/stylesheets/closet_hangers/_petpage.sass */
body.closet_hangers-petpage #petpage-closet-lists ul {
list-style: none;
margin: 0;
padding: 0;
}
/* line 33, ../../../app/stylesheets/closet_hangers/_petpage.sass */
body.closet_hangers-petpage #petpage-closet-lists ul li {
display: -moz-inline-box;
-moz-box-orient: vertical;
display: inline-block;
vertical-align: middle;
*vertical-align: auto;
font-size: 85%;
margin: 0.25em 0.5em;
padding: 1px;
}
/* line 7, ../../../../../../.rvm/gems/ruby-1.9.2-p290/gems/compass-0.10.6/frameworks/compass/stylesheets/compass/css3/_inline-block.scss */
body.closet_hangers-petpage #petpage-closet-lists ul li {
*display: inline;
}
/* line 39, ../../../app/stylesheets/closet_hangers/_petpage.sass */
body.closet_hangers-petpage #petpage-closet-lists ul li label {
padding: 0.25em 0.75em 0.25em 0.25em;
}
/* line 42, ../../../app/stylesheets/closet_hangers/_petpage.sass */
body.closet_hangers-petpage #petpage-closet-lists ul li.checked {
background: #eeffee;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
-o-border-radius: 3px;
-ms-border-radius: 3px;
-khtml-border-radius: 3px;
border-radius: 3px;
border: 1px solid #006600;
padding: 0;
}
/* line 48, ../../../app/stylesheets/closet_hangers/_petpage.sass */
body.closet_hangers-petpage #petpage-closet-lists ul li.unlisted {
font-style: italic;
}
/* line 51, ../../../app/stylesheets/closet_hangers/_petpage.sass */
body.closet_hangers-petpage #petpage-closet-lists input[type=submit] {
float: right;
}
/* line 54, ../../../app/stylesheets/closet_hangers/_petpage.sass */
body.closet_hangers-petpage #petpage-output {
display: block;
height: 30em;
@ -1414,6 +1499,10 @@ body.neopets_pages-new #back-to-items, body.neopets_pages-create #back-to-items
/* http://www.zurb.com/blog_uploads/0000/0617/buttons-03.html */
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
-o-border-radius: 5px;
-ms-border-radius: 5px;
-khtml-border-radius: 5px;
border-radius: 5px;
background: #006400 url('/images/alert-overlay.png?1315327995') repeat-x;
border: 0;
display: inline-block;
@ -1586,6 +1675,10 @@ body.items {
body.items .campaign-progress-wrapper {
-moz-border-radius: 8px;
-webkit-border-radius: 8px;
-o-border-radius: 8px;
-ms-border-radius: 8px;
-khtml-border-radius: 8px;
border-radius: 8px;
background: #aaaaaa;
background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(0%, #cccccc), color-stop(100%, #aaaaaa));
background-image: -moz-linear-gradient(top, #cccccc 0%, #aaaaaa 100%);
@ -1720,9 +1813,12 @@ body.items-show #item-header div, body.items-show #item-header img {
-moz-box-orient: vertical;
display: inline-block;
vertical-align: middle;
*display: inline;
*vertical-align: auto;
}
/* line 7, ../../../../../../.rvm/gems/ruby-1.9.2-p290/gems/compass-0.10.6/frameworks/compass/stylesheets/compass/css3/_inline-block.scss */
body.items-show #item-header div, body.items-show #item-header img {
*display: inline;
}
/* line 11, ../../../app/stylesheets/items/_show.sass */
body.items-show #item-header div {
text-align: left;
@ -1762,9 +1858,12 @@ body.items-show #item-preview-species a {
-moz-box-orient: vertical;
display: inline-block;
vertical-align: middle;
*display: inline;
*vertical-align: auto;
}
/* line 7, ../../../../../../.rvm/gems/ruby-1.9.2-p290/gems/compass-0.10.6/frameworks/compass/stylesheets/compass/css3/_inline-block.scss */
body.items-show #item-preview-species a {
*display: inline;
}
/* line 40, ../../../app/stylesheets/items/_show.sass */
body.items-show #item-preview-species a.current {
background: #eeffee;
@ -1863,9 +1962,12 @@ body.items-show #item-preview-header h3, body.items-show #item-preview-header a
-moz-box-orient: vertical;
display: inline-block;
vertical-align: middle;
*display: inline;
*vertical-align: auto;
}
/* line 7, ../../../../../../.rvm/gems/ruby-1.9.2-p290/gems/compass-0.10.6/frameworks/compass/stylesheets/compass/css3/_inline-block.scss */
body.items-show #item-preview-header h3, body.items-show #item-preview-header a {
*display: inline;
}
/* line 117, ../../../app/stylesheets/items/_show.sass */
body.items-show #item-preview-header a {
font-size: 85%;
@ -1955,10 +2057,13 @@ body.outfits-edit #preview-toolbar form {
-moz-box-orient: vertical;
display: inline-block;
vertical-align: middle;
*display: inline;
*vertical-align: auto;
margin-right: 2em;
}
/* line 7, ../../../../../../.rvm/gems/ruby-1.9.2-p290/gems/compass-0.10.6/frameworks/compass/stylesheets/compass/css3/_inline-block.scss */
body.outfits-edit #preview-toolbar form {
*display: inline;
}
/* line 119, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #pet-info form {
display: inline;
@ -1980,6 +2085,10 @@ body.outfits-edit #pet-state-form label {
/* http://www.zurb.com/blog_uploads/0000/0617/buttons-03.html */
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
-o-border-radius: 5px;
-ms-border-radius: 5px;
-khtml-border-radius: 5px;
border-radius: 5px;
background: #006400 url('/images/alert-overlay.png?1315327995') repeat-x;
border: 0;
display: inline-block;
@ -2158,6 +2267,10 @@ body.outfits-edit #preview-mode.image-active.can-download #preview-download-imag
body.outfits-edit #preview-mode-toggle {
-moz-border-radius: 0.5em;
-webkit-border-radius: 0.5em;
-o-border-radius: 0.5em;
-ms-border-radius: 0.5em;
-khtml-border-radius: 0.5em;
border-radius: 0.5em;
border: 1px solid #006600;
color: #448844;
font-size: 85%;
@ -2218,6 +2331,10 @@ body.outfits-edit #report-broken-image {
body.outfits-edit #preview-sidebar {
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
-o-border-radius: 10px;
-ms-border-radius: 10px;
-khtml-border-radius: 10px;
border-radius: 10px;
border: 1px solid #aaddaa;
float: left;
height: 400px;
@ -2308,6 +2425,10 @@ body.outfits-edit .no-assets-message {
body.outfits-edit #no-assets-full-message {
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
-o-border-radius: 5px;
-ms-border-radius: 5px;
-khtml-border-radius: 5px;
border-radius: 5px;
background: #fff4f5;
border: 1px solid #ffd3d5;
color: #9b3022;
@ -2329,19 +2450,25 @@ body.outfits-edit #preview-search-form h2 {
-moz-box-orient: vertical;
display: inline-block;
vertical-align: middle;
*display: inline;
*vertical-align: auto;
margin: 0 1em 0 0;
}
/* line 7, ../../../../../../.rvm/gems/ruby-1.9.2-p290/gems/compass-0.10.6/frameworks/compass/stylesheets/compass/css3/_inline-block.scss */
body.outfits-edit #preview-search-form h2 {
*display: inline;
}
/* line 326, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-search-form input {
display: -moz-inline-box;
-moz-box-orient: vertical;
display: inline-block;
vertical-align: middle;
*display: inline;
*vertical-align: auto;
}
/* line 7, ../../../../../../.rvm/gems/ruby-1.9.2-p290/gems/compass-0.10.6/frameworks/compass/stylesheets/compass/css3/_inline-block.scss */
body.outfits-edit #preview-search-form input {
*display: inline;
}
/* line 328, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-search-form input[type=submit] {
margin-right: 2em;
@ -2358,9 +2485,12 @@ body.outfits-edit #preview-search-form-pagination {
-moz-box-orient: vertical;
display: inline-block;
vertical-align: middle;
*display: inline;
*vertical-align: auto;
}
/* line 7, ../../../../../../.rvm/gems/ruby-1.9.2-p290/gems/compass-0.10.6/frameworks/compass/stylesheets/compass/css3/_inline-block.scss */
body.outfits-edit #preview-search-form-pagination {
*display: inline;
}
/* line 336, ../../../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;
@ -2460,10 +2590,13 @@ body.outfits-edit.fullscreen #preview-search-form-help div {
-moz-box-orient: vertical;
display: inline-block;
vertical-align: middle;
*display: inline;
*vertical-align: auto;
width: 48%;
}
/* line 7, ../../../../../../.rvm/gems/ruby-1.9.2-p290/gems/compass-0.10.6/frameworks/compass/stylesheets/compass/css3/_inline-block.scss */
body.outfits-edit.fullscreen #preview-search-form-help div {
*display: inline;
}
/* line 399, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit.fullscreen #footer {
bottom: 0;
@ -2501,6 +2634,10 @@ body.outfits-edit .object ul li a {
/* http://www.zurb.com/blog_uploads/0000/0617/buttons-03.html */
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
-o-border-radius: 5px;
-ms-border-radius: 5px;
-khtml-border-radius: 5px;
border-radius: 5px;
background: #006400 url('/images/alert-overlay.png?1315327995') repeat-x;
border: 0;
display: inline-block;
@ -2562,6 +2699,10 @@ body.outfits-edit .nc-icon:hover {
body.outfits-edit .object-info {
-moz-border-radius: 12px;
-webkit-border-radius: 12px;
-o-border-radius: 12px;
-ms-border-radius: 12px;
-khtml-border-radius: 12px;
border-radius: 12px;
-moz-opacity: 0.75;
-webkit-opacity: 0.75;
-o-opacity: 0.75;
@ -2652,6 +2793,10 @@ body.outfits-edit #preview-outfits > ul > li img {
body.outfits-edit #preview-outfits > ul > li .outfit-delete {
-moz-border-radius: 0;
-webkit-border-radius: 0;
-o-border-radius: 0;
-ms-border-radius: 0;
-khtml-border-radius: 0;
border-radius: 0;
background: transparent;
display: inline;
padding: 0;
@ -2885,6 +3030,10 @@ body.outfits-edit #new-outfit img {
body.outfits-edit #new-outfit .outfit-delete {
-moz-border-radius: 0;
-webkit-border-radius: 0;
-o-border-radius: 0;
-ms-border-radius: 0;
-khtml-border-radius: 0;
border-radius: 0;
background: transparent;
display: inline;
padding: 0;
@ -3106,6 +3255,10 @@ body.outfits-edit form#save-outfit-form img {
body.outfits-edit form#save-outfit-form .outfit-delete {
-moz-border-radius: 0;
-webkit-border-radius: 0;
-o-border-radius: 0;
-ms-border-radius: 0;
-khtml-border-radius: 0;
border-radius: 0;
background: transparent;
display: inline;
padding: 0;
@ -3244,11 +3397,14 @@ body.outfits-edit form#save-outfit-form .outfit-star, body.outfits-edit form#sav
-moz-box-orient: vertical;
display: inline-block;
vertical-align: middle;
*display: inline;
*vertical-align: auto;
float: none;
vertical-align: top;
}
/* line 7, ../../../../../../.rvm/gems/ruby-1.9.2-p290/gems/compass-0.10.6/frameworks/compass/stylesheets/compass/css3/_inline-block.scss */
body.outfits-edit form#save-outfit-form .outfit-star, body.outfits-edit form#save-outfit-form input, body.outfits-edit form#save-outfit-form button {
*display: inline;
}
/* line 554, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit form#save-outfit-form .outfit-star {
margin-top: 0.25em;
@ -3298,9 +3454,12 @@ body.outfits-edit.user-signed-in .preview-search-form-your-items {
-moz-box-orient: vertical;
display: inline-block;
vertical-align: middle;
*display: inline;
*vertical-align: auto;
}
/* line 7, ../../../../../../.rvm/gems/ruby-1.9.2-p290/gems/compass-0.10.6/frameworks/compass/stylesheets/compass/css3/_inline-block.scss */
body.outfits-edit.user-signed-in .preview-search-form-your-items {
*display: inline;
}
/* line 586, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit.user-not-signed-in #save-outfit-not-signed-in {
display: inline-block;
@ -3366,6 +3525,10 @@ body.outfits-index #outfits .outfit-edit-link {
/* http://www.zurb.com/blog_uploads/0000/0617/buttons-03.html */
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
-o-border-radius: 5px;
-ms-border-radius: 5px;
-khtml-border-radius: 5px;
border-radius: 5px;
background: #006400 url('/images/alert-overlay.png?1315327995') repeat-x;
border: 0;
display: inline-block;
@ -3401,6 +3564,10 @@ body.outfits-index #outfits .outfit-delete-button {
body.outfits-new .campaign-progress-wrapper {
-moz-border-radius: 8px;
-webkit-border-radius: 8px;
-o-border-radius: 8px;
-ms-border-radius: 8px;
-khtml-border-radius: 8px;
border-radius: 8px;
background: #aaaaaa;
background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(0%, #cccccc), color-stop(100%, #aaaaaa));
background-image: -moz-linear-gradient(top, #cccccc 0%, #aaaaaa 100%);
@ -3703,6 +3870,10 @@ body.outfits-new #your-items-module h3:after {
body.outfits-show .campaign-progress-wrapper {
-moz-border-radius: 8px;
-webkit-border-radius: 8px;
-o-border-radius: 8px;
-ms-border-radius: 8px;
-khtml-border-radius: 8px;
border-radius: 8px;
background: #aaaaaa;
background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(0%, #cccccc), color-stop(100%, #aaaaaa));
background-image: -moz-linear-gradient(top, #cccccc 0%, #aaaaaa 100%);
@ -3803,16 +3974,18 @@ body.pets-bulk #bulk-pets-form textarea, body.pets-bulk #bulk-pets-form div {
-moz-box-orient: vertical;
display: inline-block;
vertical-align: middle;
*display: inline;
*vertical-align: auto;
}
/* line 7, ../../../../../../.rvm/gems/ruby-1.9.2-p290/gems/compass-0.10.6/frameworks/compass/stylesheets/compass/css3/_inline-block.scss */
body.pets-bulk #bulk-pets-form textarea, body.pets-bulk #bulk-pets-form div {
*display: inline;
}
/* line 7, ../../../app/stylesheets/pets/_bulk.sass */
body.pets-bulk #bulk-pets-form textarea {
display: -moz-inline-box;
-moz-box-orient: vertical;
display: inline-block;
vertical-align: middle;
*display: inline;
*vertical-align: auto;
display: inline;
font: inherit;
@ -3820,6 +3993,10 @@ body.pets-bulk #bulk-pets-form textarea {
overflow: hidden;
resize: none;
}
/* line 7, ../../../../../../.rvm/gems/ruby-1.9.2-p290/gems/compass-0.10.6/frameworks/compass/stylesheets/compass/css3/_inline-block.scss */
body.pets-bulk #bulk-pets-form textarea {
*display: inline;
}
/* line 15, ../../../app/stylesheets/pets/_bulk.sass */
body.pets-bulk #bulk-pets-form ul {
list-style: none;
@ -3831,13 +4008,16 @@ body.pets-bulk #bulk-pets-form ul li {
-moz-box-orient: vertical;
display: inline-block;
vertical-align: middle;
*display: inline;
*vertical-align: auto;
background: #eeeeee;
margin: 0 auto;
min-width: 25%;
text-align: left;
}
/* line 7, ../../../../../../.rvm/gems/ruby-1.9.2-p290/gems/compass-0.10.6/frameworks/compass/stylesheets/compass/css3/_inline-block.scss */
body.pets-bulk #bulk-pets-form ul li {
*display: inline;
}
/* line 24, ../../../app/stylesheets/pets/_bulk.sass */
body.pets-bulk #bulk-pets-form ul li.loaded {
background: #e6efc2;
@ -3879,6 +4059,10 @@ body.pets-bulk .script-only {
body.static-donate .campaign-progress-wrapper {
-moz-border-radius: 8px;
-webkit-border-radius: 8px;
-o-border-radius: 8px;
-ms-border-radius: 8px;
-khtml-border-radius: 8px;
border-radius: 8px;
background: #aaaaaa;
background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(0%, #cccccc), color-stop(100%, #aaaaaa));
background-image: -moz-linear-gradient(top, #cccccc 0%, #aaaaaa 100%);