From f2c6ee87d3fc05395afdcb86a6613bf601e95849 Mon Sep 17 00:00:00 2001 From: Rohan Mitchell Date: Thu, 6 Nov 2014 15:20:06 +1100 Subject: [PATCH] Extract duplicated checkout accordion heading to partial --- .../checkout/payment_controller.js.coffee | 4 ++++ .../checkout/shipping_controller.js.coffee | 3 +++ .../checkout/_accordion_heading.html.haml | 15 +++++++++++++++ app/views/checkout/_billing.html.haml | 18 ++---------------- app/views/checkout/_details.html.haml | 16 +--------------- app/views/checkout/_payment.html.haml | 17 +---------------- app/views/checkout/_shipping.html.haml | 16 +--------------- 7 files changed, 27 insertions(+), 62 deletions(-) create mode 100644 app/views/checkout/_accordion_heading.html.haml diff --git a/app/assets/javascripts/darkswarm/controllers/checkout/payment_controller.js.coffee b/app/assets/javascripts/darkswarm/controllers/checkout/payment_controller.js.coffee index 71f893aa64..1cfc724492 100644 --- a/app/assets/javascripts/darkswarm/controllers/checkout/payment_controller.js.coffee +++ b/app/assets/javascripts/darkswarm/controllers/checkout/payment_controller.js.coffee @@ -20,4 +20,8 @@ Darkswarm.controller "PaymentCtrl", ($scope, $timeout) -> $scope.years = [moment().year()..(moment().year()+15)] $scope.secrets.card_month = "1" $scope.secrets.card_year = moment().year() + + $scope.summary = -> + [$scope.Checkout.paymentMethod().name] + $timeout $scope.onTimeout diff --git a/app/assets/javascripts/darkswarm/controllers/checkout/shipping_controller.js.coffee b/app/assets/javascripts/darkswarm/controllers/checkout/shipping_controller.js.coffee index cbb90b4352..429b974dd6 100644 --- a/app/assets/javascripts/darkswarm/controllers/checkout/shipping_controller.js.coffee +++ b/app/assets/javascripts/darkswarm/controllers/checkout/shipping_controller.js.coffee @@ -3,5 +3,8 @@ Darkswarm.controller "ShippingCtrl", ($scope, $timeout, ShippingMethods) -> $scope.ShippingMethods = ShippingMethods $scope.name = "shipping" $scope.nextPanel = "payment" + + $scope.summary = -> + [$scope.Checkout.shippingMethod().name] $timeout $scope.onTimeout diff --git a/app/views/checkout/_accordion_heading.html.haml b/app/views/checkout/_accordion_heading.html.haml new file mode 100644 index 0000000000..76724cd29e --- /dev/null +++ b/app/views/checkout/_accordion_heading.html.haml @@ -0,0 +1,15 @@ +%accordion-heading + .row + .small-8.medium-10.columns + %em + %small + {{ summary() | printArray }} + .small-4.medium-2.columns.text-right + %span.accordion-up + %em + %small Hide + %i.ofn-i_053-point-up + %span.accordion-down + %em + %small Expand + %i.ofn-i_052-point-down diff --git a/app/views/checkout/_billing.html.haml b/app/views/checkout/_billing.html.haml index c2573eef47..854f359b0c 100644 --- a/app/views/checkout/_billing.html.haml +++ b/app/views/checkout/_billing.html.haml @@ -11,22 +11,8 @@ %accordion-group{"is-open" => "accordion.billing", "ng-class" => "{valid: billing.$valid, open: accordion.billing}"} - %accordion-heading - .row - .small-8.medium-10.columns - %em - %small - {{ summary() | printArray }} - .small-4.medium-2.columns.text-right - %span.accordion-up - %em - %small Hide - %i.ofn-i_053-point-up - %span.accordion-down - %em - %small Expand - %i.ofn-i_052-point-down - + = render 'checkout/accordion_heading' + = f.fields_for :bill_address, @order.bill_address do |ba| .row .small-12.columns diff --git a/app/views/checkout/_details.html.haml b/app/views/checkout/_details.html.haml index 20407cbfd5..646a3312e0 100644 --- a/app/views/checkout/_details.html.haml +++ b/app/views/checkout/_details.html.haml @@ -11,21 +11,7 @@ %accordion-group{"is-open" => "accordion.details", "ng-class" => "{valid: details.$valid, open: accordion.details}"} - %accordion-heading - .row - .small-8.medium-10.columns - %em - %small - {{ summary() | printArray }} - .small-4.medium-2.columns.text-right - %span.accordion-up - %em - %small Hide - %i.ofn-i_053-point-up - %span.accordion-down - %em - %small Expand - %i.ofn-i_052-point-down + = render 'checkout/accordion_heading' .row .small-6.columns diff --git a/app/views/checkout/_payment.html.haml b/app/views/checkout/_payment.html.haml index e58e014f50..09e56c796e 100644 --- a/app/views/checkout/_payment.html.haml +++ b/app/views/checkout/_payment.html.haml @@ -11,22 +11,7 @@ %accordion-group{"is-open" => "accordion.payment", "ng-class" => "{valid: payment.$valid, open: accordion.payment}"} - %accordion-heading - .row - .small-8.medium-10.columns - %em - %small - {{ Checkout.paymentMethod().name }} - %small - .small-4.medium-2.columns.text-right - %span.accordion-up - %em - %small Hide - %i.ofn-i_053-point-up - %span.accordion-down - %em - %small Expand - %i.ofn-i_052-point-down + = render 'checkout/accordion_heading' -# TODO render this in Angular instead of server-side -# The problem being how to render the partials diff --git a/app/views/checkout/_shipping.html.haml b/app/views/checkout/_shipping.html.haml index e9d83816ac..22eee5f533 100644 --- a/app/views/checkout/_shipping.html.haml +++ b/app/views/checkout/_shipping.html.haml @@ -11,21 +11,7 @@ %accordion-group{"is-open" => "accordion.shipping", "ng-class" => "{valid: shipping.$valid, open: accordion.shipping}"} - %accordion-heading - .row - .small-8.medium-10.columns - %em - %small - {{ Checkout.shippingMethod().name }} - .small-4.medium-2.columns.text-right - %span.accordion-up - %em - %small Hide - %i.ofn-i_053-point-up - %span.accordion-down - %em - %small Expand - %i.ofn-i_052-point-down + = render 'checkout/accordion_heading' .small-12.columns.medium-6.columns.large-6.columns %label{"ng-repeat" => "method in ShippingMethods.shipping_methods"}