From 500e067cfb2f7812fae2f39c02744177ea84d88e Mon Sep 17 00:00:00 2001 From: Will Marshall Date: Fri, 11 Jul 2014 16:14:44 +1000 Subject: [PATCH] Performance enhancements --- .../controllers/products/product_node_controller.js.coffee | 1 - app/assets/javascripts/darkswarm/services/product.js.coffee | 2 ++ app/views/shop/products/_form.html.haml | 4 ++-- app/views/shop/products/_summary.html.haml | 2 +- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/app/assets/javascripts/darkswarm/controllers/products/product_node_controller.js.coffee b/app/assets/javascripts/darkswarm/controllers/products/product_node_controller.js.coffee index 08797080e8..07ddb4bc61 100644 --- a/app/assets/javascripts/darkswarm/controllers/products/product_node_controller.js.coffee +++ b/app/assets/javascripts/darkswarm/controllers/products/product_node_controller.js.coffee @@ -1,6 +1,5 @@ Darkswarm.controller "ProductNodeCtrl", ($scope, $modal) -> $scope.enterprise = $scope.product.supplier # For the modal, so it's consistent - $scope.hasVariants = $scope.product.variants.length > 0 $scope.triggerProductModal = -> $modal.open(templateUrl: "product_modal.html", scope: $scope) diff --git a/app/assets/javascripts/darkswarm/services/product.js.coffee b/app/assets/javascripts/darkswarm/services/product.js.coffee index 478647d2db..48cdd6ae33 100644 --- a/app/assets/javascripts/darkswarm/services/product.js.coffee +++ b/app/assets/javascripts/darkswarm/services/product.js.coffee @@ -26,3 +26,5 @@ Darkswarm.factory 'Product', ($resource, Enterprises, Dereferencer, Taxons) -> if product.variants.length > 0 prices = (v.price for v in product.variants) product.price = Math.min.apply(null, prices) + + product.hasVariants = product.variants.length > 0 diff --git a/app/views/shop/products/_form.html.haml b/app/views/shop/products/_form.html.haml index fc43f05e9b..2aaf7a4f5f 100644 --- a/app/views/shop/products/_form.html.haml +++ b/app/views/shop/products/_form.html.haml @@ -20,9 +20,9 @@ "ng-repeat" => "product in filteredProducts = (Product.products | products:query | taxons:activeTaxons | orderBy:ordering.order) track by product.id "} %div = render partial: "shop/products/summary" - %div{"bo-if" => "hasVariants"} + %div{"bo-if" => "product.hasVariants"} = render partial: "shop/products/variants" - .variants.row{"bo-if" => "!hasVariants"} + .variants.row{"bo-if" => "!product.hasVariants"} = render partial: "shop/products/master" %product{"ng-show" => "Product.loading"} diff --git a/app/views/shop/products/_summary.html.haml b/app/views/shop/products/_summary.html.haml index b1cd7b0e78..bded87c50c 100644 --- a/app/views/shop/products/_summary.html.haml +++ b/app/views/shop/products/_summary.html.haml @@ -11,6 +11,6 @@ %producer-modal {{ enterprise.name }} .small-2.columns.summary-price.text-right.price - %span{"ng-if" => "hasVariants"} + %span{"ng-if" => "product.hasVariants"} %em from {{ product.price | currency }}