Commit bbb0c343d1926c0f514f687bb365c3e11e089c92
1 parent
89a952dc
Exists in
master
and in
29 other branches
Fixes on redesigned catalog
* Reusing code to add zoom to product's images * Changing strings to allow translation * Removing whitespaces (ActionItem2111)
Showing
7 changed files
with
54 additions
and
54 deletions
Show diff stats
app/helpers/application_helper.rb
| @@ -1259,25 +1259,27 @@ module ApplicationHelper | @@ -1259,25 +1259,27 @@ module ApplicationHelper | ||
| 1259 | task.information[:message] % values | 1259 | task.information[:message] % values |
| 1260 | end | 1260 | end |
| 1261 | 1261 | ||
| 1262 | + def add_zoom_to_article_images | ||
| 1263 | + add_zoom_to_images if environment.enabled?(:show_zoom_button_on_article_images) | ||
| 1264 | + end | ||
| 1265 | + | ||
| 1262 | def add_zoom_to_images | 1266 | def add_zoom_to_images |
| 1263 | - if environment.enabled?(:show_zoom_button_on_article_images) | ||
| 1264 | - stylesheet_link_tag('fancybox') + | ||
| 1265 | - javascript_include_tag('jquery.fancybox-1.3.4.pack') + | ||
| 1266 | - javascript_tag("jQuery(function($) { | ||
| 1267 | - $(window).load( function() { | ||
| 1268 | - $('#article .article-body img').each( function(index) { | ||
| 1269 | - var original = original_image_dimensions($(this).attr('src')); | ||
| 1270 | - if ($(this).width() < original['width'] || $(this).height() < original['height']) { | ||
| 1271 | - $(this).wrap('<div class=\"zoomable-image\" />'); | ||
| 1272 | - $(this).parent('.zoomable-image').attr('style', $(this).attr('style')); | ||
| 1273 | - $(this).attr('style', ''); | ||
| 1274 | - $(this).after(\'<a href=\"' + $(this).attr('src') + '\" class=\"zoomify-image\"><span class=\"zoomify-text\">%s</span></a>'); | ||
| 1275 | - } | ||
| 1276 | - }); | ||
| 1277 | - $('.zoomify-image').fancybox(); | 1267 | + stylesheet_link_tag('fancybox') + |
| 1268 | + javascript_include_tag('jquery.fancybox-1.3.4.pack') + | ||
| 1269 | + javascript_tag("jQuery(function($) { | ||
| 1270 | + $(window).load( function() { | ||
| 1271 | + $('#article .article-body img').each( function(index) { | ||
| 1272 | + var original = original_image_dimensions($(this).attr('src')); | ||
| 1273 | + if ($(this).width() < original['width'] || $(this).height() < original['height']) { | ||
| 1274 | + $(this).wrap('<div class=\"zoomable-image\" />'); | ||
| 1275 | + $(this).parent('.zoomable-image').attr('style', $(this).attr('style')); | ||
| 1276 | + $(this).attr('style', ''); | ||
| 1277 | + $(this).after(\'<a href=\"' + $(this).attr('src') + '\" class=\"zoomify-image\"><span class=\"zoomify-text\">%s</span></a>'); | ||
| 1278 | + } | ||
| 1278 | }); | 1279 | }); |
| 1279 | - });" % _('Zoom in')) | ||
| 1280 | - end | 1280 | + $('.zoomify-image').fancybox(); |
| 1281 | + }); | ||
| 1282 | + });" % _('Zoom in')) | ||
| 1281 | end | 1283 | end |
| 1282 | 1284 | ||
| 1283 | def render_dialog_error_messages(instance_name) | 1285 | def render_dialog_error_messages(instance_name) |
app/views/catalog/index.rhtml
| @@ -13,14 +13,14 @@ | @@ -13,14 +13,14 @@ | ||
| 13 | <li class="product-image-link"> | 13 | <li class="product-image-link"> |
| 14 | <% if product.image %> | 14 | <% if product.image %> |
| 15 | <div class="zoomable-image"> | 15 | <div class="zoomable-image"> |
| 16 | - <%= link_to_product product, :class => 'product-big', :style => "background-image: url(#{product.default_image(:big)})" %> | ||
| 17 | - <a href='<%= product.default_image(:big).gsub('_big','') %>' class="zoomify-image"><span><%= _('Zoom in') %></span></a> | 16 | + <%= link_to_product product, :class => 'product-big', :style => "background-image: url(#{product.default_image(:big)})" %> |
| 17 | + <%= link_to content_tag(:span, _('Zoom in')), product.default_image(:big).gsub('_big',''), :class => 'zoomify-image' %> | ||
| 18 | </div> | 18 | </div> |
| 19 | <% else %> | 19 | <% else %> |
| 20 | <div class="no-image"><%= _('No image') %></div> | 20 | <div class="no-image"><%= _('No image') %></div> |
| 21 | <% end %> | 21 | <% end %> |
| 22 | - <div class="catalog-item-extras"><%= extra_content.join("\n") %></div> | ||
| 23 | - </li> | 22 | + <div class="catalog-item-extras"><%= extra_content.join("\n") %></div> |
| 23 | + </li> | ||
| 24 | 24 | ||
| 25 | <li class="product-link"><%= link_to_product product %></li> | 25 | <li class="product-link"><%= link_to_product product %></li> |
| 26 | 26 | ||
| @@ -74,8 +74,10 @@ | @@ -74,8 +74,10 @@ | ||
| 74 | <div class="arrow"></div> | 74 | <div class="arrow"></div> |
| 75 | <div class="content" id="inputs-description"> | 75 | <div class="content" id="inputs-description"> |
| 76 | <% product.inputs.each do |i| %> | 76 | <% product.inputs.each do |i| %> |
| 77 | - <div><%= "#{i.amount_used} #{i.unit.singular} #{_('of')} " if i.has_all_price_details? %> | ||
| 78 | - <%= "#{i.product_category.name}" %></div> | 77 | + <div> |
| 78 | + <%= _('%{amount_used} %{unit} of') % {:amount_used => i.amount_used, :unit => i.unit.singular} + ' ' if i.has_all_price_details? %> | ||
| 79 | + <%= i.product_category.name %> | ||
| 80 | + </div> | ||
| 79 | <% end %> | 81 | <% end %> |
| 80 | </div> | 82 | </div> |
| 81 | </div> | 83 | </div> |
| @@ -100,12 +102,4 @@ | @@ -100,12 +102,4 @@ | ||
| 100 | 102 | ||
| 101 | <%= pagination_links @products, :params => {:controller => :catalog, :action => :index, :profile => profile.identifier} %> | 103 | <%= pagination_links @products, :params => {:controller => :catalog, :action => :index, :profile => profile.identifier} %> |
| 102 | 104 | ||
| 103 | -<link href="/stylesheets/fancybox.css?1323903734" media="screen" rel="stylesheet" type="text/css" /><script src="/javascripts/jquery.fancybox-1.3.4.pack.js?1323903734" type="text/javascript"></script><script type="text/javascript"> | ||
| 104 | -//<![CDATA[ | ||
| 105 | -jQuery(function($) { | ||
| 106 | - $(window).load( function() { | ||
| 107 | - $('.zoomify-image').fancybox(); | ||
| 108 | - }); | ||
| 109 | - }); | ||
| 110 | -//]]> | ||
| 111 | -</script> | 105 | +<%= add_zoom_to_images %> |
app/views/content_viewer/view_page.rhtml
features/browse_catalogs.feature
| @@ -66,7 +66,7 @@ Feature: browse catalogs | @@ -66,7 +66,7 @@ Feature: browse catalogs | ||
| 66 | | artebonito | categ1 | Produto1 | 0.00 | | 66 | | artebonito | categ1 | Produto1 | 0.00 | |
| 67 | And I am on /catalog/artebonito | 67 | And I am on /catalog/artebonito |
| 68 | Then I should see "Produto1" within "li.product-link" | 68 | Then I should see "Produto1" within "li.product-link" |
| 69 | - And I should not see "0.00" | 69 | + And I should not see "0.00" |
| 70 | And I should see "No image" within ".no-image" | 70 | And I should see "No image" within ".no-image" |
| 71 | And I should not see "product unavailable" | 71 | And I should not see "product unavailable" |
| 72 | And I should not see "description" | 72 | And I should not see "description" |
| @@ -150,7 +150,7 @@ Feature: browse catalogs | @@ -150,7 +150,7 @@ Feature: browse catalogs | ||
| 150 | And the "product-description" should be visible | 150 | And the "product-description" should be visible |
| 151 | 151 | ||
| 152 | @selenium | 152 | @selenium |
| 153 | - Scenario: hide description | 153 | + Scenario: hide description |
| 154 | Given the following products | 154 | Given the following products |
| 155 | | owner | category | name | price | description | | 155 | | owner | category | name | price | description | |
| 156 | | artebonito | categ1 | Produto3 | 12.34 | A small description for a product that doesn't exist. | | 156 | | artebonito | categ1 | Produto3 | 12.34 | A small description for a product that doesn't exist. | |
| @@ -234,7 +234,7 @@ Feature: browse catalogs | @@ -234,7 +234,7 @@ Feature: browse catalogs | ||
| 234 | | name | plural | | 234 | | name | plural | |
| 235 | | Liter | Liters | | 235 | | Liter | Liters | |
| 236 | And the following input | 236 | And the following input |
| 237 | - | product | category | | 237 | + | product | category | |
| 238 | | Vitamina | food | | 238 | | Vitamina | food | |
| 239 | And I am on /catalog/artebonito | 239 | And I am on /catalog/artebonito |
| 240 | And I reload and wait for the page | 240 | And I reload and wait for the page |
public/javascripts/catalog.js
| @@ -12,6 +12,15 @@ $(document).live('click', function() { | @@ -12,6 +12,15 @@ $(document).live('click', function() { | ||
| 12 | $.each($('#product-list .product .expand-box'), function(index, value) { value.clicked = false; click(value); }); | 12 | $.each($('#product-list .product .expand-box'), function(index, value) { value.clicked = false; click(value); }); |
| 13 | }); | 13 | }); |
| 14 | 14 | ||
| 15 | +$(document).click(function (event) { | ||
| 16 | + if ($(event.target).parents('.expand-box').length == 0) { | ||
| 17 | + $('.expand-box').each(function(index, element){ | ||
| 18 | + $(element).removeClass('open'); | ||
| 19 | + $(element).children('div').toggle(false); | ||
| 20 | + }); | ||
| 21 | + } | ||
| 22 | +}); | ||
| 23 | + | ||
| 15 | var rows = {}; | 24 | var rows = {}; |
| 16 | $('#product-list .product').each(function (index, element) { | 25 | $('#product-list .product').each(function (index, element) { |
| 17 | obj = rows[$(element).offset().top] || {}; | 26 | obj = rows[$(element).offset().top] || {}; |
| @@ -50,11 +59,4 @@ function hover() { | @@ -50,11 +59,4 @@ function hover() { | ||
| 50 | jQuery(this).toggleClass('hover'); | 59 | jQuery(this).toggleClass('hover'); |
| 51 | } | 60 | } |
| 52 | 61 | ||
| 53 | -jQuery(document).click(function (event) { | ||
| 54 | - if (jQuery(event.target).parents('.expand-box').length == 0) { | ||
| 55 | - jQuery('.expand-box').each(function(index, element){ | ||
| 56 | - jQuery(element).removeClass('open'); | ||
| 57 | - jQuery(element).children('div').toggle(false); | ||
| 58 | - }); | ||
| 59 | - } | ||
| 60 | -}); | 62 | + |
public/stylesheets/application.css
| @@ -2994,12 +2994,9 @@ div#activation_enterprise div { | @@ -2994,12 +2994,9 @@ div#activation_enterprise div { | ||
| 2994 | #product-list .expand-box { | 2994 | #product-list .expand-box { |
| 2995 | background-color: #1EB46D; | 2995 | background-color: #1EB46D; |
| 2996 | margin-bottom: 3px; | 2996 | margin-bottom: 3px; |
| 2997 | - -moz-border-radius-topleft: 10px; | ||
| 2998 | - -moz-border-radius-topright: 0px; | ||
| 2999 | - -moz-border-radius-bottomright: 0px; | ||
| 3000 | - -moz-border-radius-bottomleft: 10px; | 2997 | + -moz-border-radius: 10px 0px 0px 10px; |
| 3001 | -webkit-border-radius: 10px 0px 0px 10px; | 2998 | -webkit-border-radius: 10px 0px 0px 10px; |
| 3002 | - border-radius: 10px 0px 0px 10px; | 2999 | + border-radius: 10px 0px 0px 10px; |
| 3003 | width: 202px; | 3000 | width: 202px; |
| 3004 | } | 3001 | } |
| 3005 | #product-list .expand-box > span { | 3002 | #product-list .expand-box > span { |
| @@ -3148,10 +3145,10 @@ div#activation_enterprise div { | @@ -3148,10 +3145,10 @@ div#activation_enterprise div { | ||
| 3148 | margin: 0; | 3145 | margin: 0; |
| 3149 | } | 3146 | } |
| 3150 | #product-list .ui-button-text { | 3147 | #product-list .ui-button-text { |
| 3151 | - color: #D38D5F; | ||
| 3152 | - font-size: 0.8em; | ||
| 3153 | - padding: 0.1em 0.3em 0.1em 3em; | ||
| 3154 | - } | 3148 | + color: #D38D5F; |
| 3149 | + font-size: 0.8em; | ||
| 3150 | + padding: 0.1em 0.3em 0.1em 3em; | ||
| 3151 | +} | ||
| 3155 | #product-list .product-big span { | 3152 | #product-list .product-big span { |
| 3156 | display: none; | 3153 | display: none; |
| 3157 | } | 3154 | } |
test/unit/application_helper_test.rb
| @@ -649,13 +649,18 @@ class ApplicationHelperTest < Test::Unit::TestCase | @@ -649,13 +649,18 @@ class ApplicationHelperTest < Test::Unit::TestCase | ||
| 649 | env = Environment.default | 649 | env = Environment.default |
| 650 | env.stubs(:enabled?).with(:show_zoom_button_on_article_images).returns(false) | 650 | env.stubs(:enabled?).with(:show_zoom_button_on_article_images).returns(false) |
| 651 | stubs(:environment).returns(env) | 651 | stubs(:environment).returns(env) |
| 652 | - assert_nil add_zoom_to_images | 652 | + assert_nil add_zoom_to_article_images |
| 653 | end | 653 | end |
| 654 | 654 | ||
| 655 | should 'return code when :show_zoom_button_on_article_images is enabled in environment' do | 655 | should 'return code when :show_zoom_button_on_article_images is enabled in environment' do |
| 656 | env = Environment.default | 656 | env = Environment.default |
| 657 | env.stubs(:enabled?).with(:show_zoom_button_on_article_images).returns(true) | 657 | env.stubs(:enabled?).with(:show_zoom_button_on_article_images).returns(true) |
| 658 | stubs(:environment).returns(env) | 658 | stubs(:environment).returns(env) |
| 659 | + assert_not_nil add_zoom_to_article_images | ||
| 660 | + end | ||
| 661 | + | ||
| 662 | + should 'return code when add_zoom_to_images' do | ||
| 663 | + env = Environment.default | ||
| 659 | assert_not_nil add_zoom_to_images | 664 | assert_not_nil add_zoom_to_images |
| 660 | end | 665 | end |
| 661 | 666 |