diff --git a/app/assets/javascripts/templates/filter_selector.html.haml b/app/assets/javascripts/templates/filter_selector.html.haml
index cd4135ebee..742ace2a0e 100644
--- a/app/assets/javascripts/templates/filter_selector.html.haml
+++ b/app/assets/javascripts/templates/filter_selector.html.haml
@@ -1,4 +1,3 @@
%ul
%active-selector{ ng: { repeat: "selector in allSelectors", show: "ifDefined(selector.fits, true)" } }
- %render-svg{path: "{{selector.object.icon}}", ng: { if: "selector.object.icon"} }
%span{"ng-bind" => "::selector.object.name"}
diff --git a/app/assets/stylesheets/darkswarm/_shop-filters.css.scss b/app/assets/stylesheets/darkswarm/_shop-filters.css.scss
index 16bca77cbc..2d8caf9a54 100644
--- a/app/assets/stylesheets/darkswarm/_shop-filters.css.scss
+++ b/app/assets/stylesheets/darkswarm/_shop-filters.css.scss
@@ -14,7 +14,7 @@
@include border-radius(0);
padding: 0;
- margin: 0 0 0.25rem 0.25rem;
+ margin: 0 0.25rem 0.25rem 0;
&:hover, &:focus {
background: transparent;
@@ -140,25 +140,6 @@
.filter-shopfront {
&.taxon-selectors, &.property-selectors {
background: transparent;
-
- single-line-selectors {
- overflow-x: hidden;
- white-space: nowrap;
-
- .f-dropdown {
- overflow-x: auto;
- white-space: normal;
- }
- }
-
- ul {
- margin: 0;
- display: inline-block;
- }
-
- ul, ul li {
- list-style: none;
- }
}
// Shopfront taxons
@@ -170,4 +151,8 @@
&.property-selectors {
@include filter-selector(#666, #ccc, #777);
}
+
+ ul {
+ margin: 0;
+ }
}
diff --git a/app/views/shop/products/_filters.html.haml b/app/views/shop/products/_filters.html.haml
index 100ccecc0a..f0e69d1985 100644
--- a/app/views/shop/products/_filters.html.haml
+++ b/app/views/shop/products/_filters.html.haml
@@ -1,5 +1,5 @@
-.filter-shopfront.taxon-selectors.text-right{ng: {show: 'supplied_taxons != null'}}
- %single-line-selectors{ selectors: "taxonSelectors", objects: "supplied_taxons", "active-selectors" => "activeTaxons"}
+.filter-shopfront.taxon-selectors{ng: {show: 'supplied_taxons != null'}}
+ %filter-selector{ 'selector-set' => "taxonSelectors", objects: "supplied_taxons", "active-selectors" => "activeTaxons"}
-.filter-shopfront.property-selectors.text-right{ng: {show: 'supplied_properties != null'}}
- %single-line-selectors{ selectors: "propertySelectors", objects: "supplied_properties", "active-selectors" => "activeProperties"}
+.filter-shopfront.property-selectors{ng: {show: 'supplied_properties != null'}}
+ %filter-selector{ 'selector-set' => "propertySelectors", objects: "supplied_properties", "active-selectors" => "activeProperties"}
diff --git a/app/views/shop/products/_form.html.haml b/app/views/shop/products/_form.html.haml
index 5e45c44fa1..7598c75568 100644
--- a/app/views/shop/products/_form.html.haml
+++ b/app/views/shop/products/_form.html.haml
@@ -19,36 +19,38 @@
= t :products_with
%span.applied-search "{{ query }}"
.row
- .small-12.medium-6.large-5.columns
+ .small-12.columns
%input#search.text{"ng-model" => "query",
placeholder: t(:products_search),
"ng-debounce" => "200",
"ofn-disable-enter" => true}
- .small-12.medium-6.large-6.large-offset-1.columns
- = render partial: "shop/products/filters"
-
.row
- %div.pad-top{ "infinite-scroll" => "loadMore()", "infinite-scroll-distance" => "1", "infinite-scroll-disabled" => 'Products.loading' }
- %product.animate-repeat{"ng-controller" => "ProductNodeCtrl", "ng-repeat" => "product in Products.products track by product.id", "id" => "product-{{ product.id }}"}
- = render "shop/products/summary"
- %shop-variant{variant: 'variant', "ng-repeat" => "variant in product.variants | orderBy: ['name_to_display','unit_value'] track by variant.id", "id" => "variant-{{ variant.id }}", "ng-class" => "{'out-of-stock': !variant.on_demand && variant.on_hand == 0}"}
+ .medium-12.large-10.columns
+ %div.pad-top{ "infinite-scroll" => "loadMore()", "infinite-scroll-distance" => "1", "infinite-scroll-disabled" => 'Products.loading' }
+ %product.animate-repeat{"ng-controller" => "ProductNodeCtrl", "ng-repeat" => "product in Products.products track by product.id", "id" => "product-{{ product.id }}"}
+ = render "shop/products/summary"
+ %shop-variant{variant: 'variant', "ng-repeat" => "variant in product.variants | orderBy: ['name_to_display','unit_value'] track by variant.id", "id" => "variant-{{ variant.id }}", "ng-class" => "{'out-of-stock': !variant.on_demand && variant.on_hand == 0}"}
- %product{"ng-show" => "Products.loading"}
- .row.summary
- .small-12.columns.text-center
- = t :products_loading
- .row
- .small-12.columns.text-center
- %img.spinner{ src: "/assets/spinning-circles.svg" }
+ %product{"ng-show" => "Products.loading"}
+ .row.summary
+ .small-12.columns.text-center
+ = t :products_loading
+ .row
+ .small-12.columns.text-center
+ %img.spinner{ src: "/assets/spinning-circles.svg" }
- %div{"ng-show" => "Products.products.length == 0 && !Products.loading"}
- .row.summary
- .small-12.columns
- %p.no-results
- = t :search_no_results_html, query: "{{query}}".html_safe
- .row
- .small-12.columns
- %form{action: main_app.cart_path}
- %i.ofn-i_011-spinner.cart-spinner{"ng-show" => "Cart.dirty"}
- %input.small.button.primary.right.add_to_cart{type: :submit, value: "{{ Cart.dirty ? '#{t(:products_updating_cart)}' : (Cart.empty() ? '#{t(:products_cart_empty)}' : '#{t(:products_edit_cart)}' ) }}", "ng-disabled" => "Cart.dirty || Cart.empty()", "ng-class" => "{ dirty: Cart.dirty }" }
+ %div{"ng-show" => "Products.products.length == 0 && !Products.loading"}
+ .row.summary
+ .small-12.columns
+ %p.no-results
+ = t :search_no_results_html, query: "{{query}}".html_safe
+ .row
+ .small-12.columns
+ %form{action: main_app.cart_path}
+ %i.ofn-i_011-spinner.cart-spinner{"ng-show" => "Cart.dirty"}
+ %input.small.button.primary.right.add_to_cart{type: :submit, value: "{{ Cart.dirty ? '#{t(:products_updating_cart)}' : (Cart.empty() ? '#{t(:products_cart_empty)}' : '#{t(:products_edit_cart)}' ) }}", "ng-disabled" => "Cart.dirty || Cart.empty()", "ng-class" => "{ dirty: Cart.dirty }" }
+
+ .hide-for-medium-down.large-2.columns
+ %h5= t(:products_filter_by)
+ = render partial: "shop/products/filters"
diff --git a/config/locales/en.yml b/config/locales/en.yml
index fa92cb72a1..83a6c95025 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -1653,6 +1653,7 @@ See the %{link} to find out more about %{sitename}'s features and to start using
products_or: "OR"
products_with: with
products_search: "Search by product or producer"
+ products_filter_by: "Filter by"
products_loading: "Loading products..."
products_updating_cart: "Updating cart..."
products_cart_empty: "Cart empty"