From 5179f7fd636867d442e667eb8bfc75dad416d73f Mon Sep 17 00:00:00 2001 From: Kristina Lim Date: Fri, 20 Jul 2018 09:25:55 +0800 Subject: [PATCH] Move logic for toggling by column into SortOptions --- .../services/sort_options.js.coffee | 4 ++++ app/views/admin/customers/index.html.haml | 6 +++--- .../admin/orders/bulk_management.html.haml | 18 +++++++++--------- 3 files changed, 16 insertions(+), 12 deletions(-) diff --git a/app/assets/javascripts/admin/index_utils/services/sort_options.js.coffee b/app/assets/javascripts/admin/index_utils/services/sort_options.js.coffee index 5c3f38fef4..770a09ac84 100644 --- a/app/assets/javascripts/admin/index_utils/services/sort_options.js.coffee +++ b/app/assets/javascripts/admin/index_utils/services/sort_options.js.coffee @@ -2,3 +2,7 @@ angular.module("admin.indexUtils").factory 'SortOptions', -> new class SortOptions predicate: "" reverse: true + + toggle: (predicate) -> + @predicate = predicate + @reverse = !@reverse diff --git a/app/views/admin/customers/index.html.haml b/app/views/admin/customers/index.html.haml index 035e0c1570..0a1fb012dc 100644 --- a/app/views/admin/customers/index.html.haml +++ b/app/views/admin/customers/index.html.haml @@ -61,11 +61,11 @@ -# %th.bulk -# %input{ :type => "checkbox", :name => 'toggle_bulk', 'ng-click' => 'toggleAllCheckboxes()', 'ng-checked' => "allBoxesChecked()" } %th.email{ 'ng-show' => 'columns.email.visible' } - %a{ :href => '', 'ng-click' => "sorting.predicate = 'customer.email'; sorting.reverse = !sorting.reverse" }=t('admin.email') + %a{ :href => '', 'ng-click' => "sorting.toggle('customer.email')" }=t('admin.email') %th.name{ 'ng-show' => 'columns.name.visible' } - %a{ :href => '', 'ng-click' => "sorting.predicate = 'customer.name'; sorting.reverse = !sorting.reverse" }=t('admin.name') + %a{ :href => '', 'ng-click' => "sorting.toggle('customer.name')" }=t('admin.name') %th.code{ 'ng-show' => 'columns.code.visible' } - %a{ :href => '', 'ng-click' => "sorting.predicate = 'customer.code'; sorting.reverse = !sorting.reverse" }=t('admin.customers.index.code') + %a{ :href => '', 'ng-click' => "sorting.toggle('customer.code')" }=t('admin.customers.index.code') %th.tags{ 'ng-show' => 'columns.tags.visible' }=t('admin.tags') %th.bill_address{ 'ng-show' => 'columns.bill_address.visible' }=t('admin.customers.index.bill_address') %th.ship_address{ 'ng-show' => 'columns.ship_address.visible' }=t('admin.customers.index.ship_address') diff --git a/app/views/spree/admin/orders/bulk_management.html.haml b/app/views/spree/admin/orders/bulk_management.html.haml index b3474b99c3..50aa10634f 100644 --- a/app/views/spree/admin/orders/bulk_management.html.haml +++ b/app/views/spree/admin/orders/bulk_management.html.haml @@ -118,31 +118,31 @@ %th.bulk %input{ :type => "checkbox", :name => 'toggle_bulk', 'ng-click' => 'toggleAllCheckboxes()', 'ng-checked' => "allBoxesChecked()" } %th.order_no{ 'ng-show' => 'columns.order_no.visible' } - %a{ :href => '', 'ng-click' => "sorting.predicate = 'order.number'; sorting.reverse = !sorting.reverse" } + %a{ :href => '', 'ng-click' => "sorting.toggle('order.number')" } = t("admin.orders.bulk_management.order_no") %th.full_name{ 'ng-show' => 'columns.full_name.visible' } - %a{ :href => '', 'ng-click' => "sorting.predicate = 'order.full_name'; sorting.reverse = !sorting.reverse" } + %a{ :href => '', 'ng-click' => "sorting.toggle('order.full_name')" } = t("admin.name") %th.email{ 'ng-show' => 'columns.email.visible' } - %a{ :href => '', 'ng-click' => "sorting.predicate = 'order.email'; sorting.reverse = !sorting.reverse" } + %a{ :href => '', 'ng-click' => "sorting.toggle('order.email')" } = t("admin.email") %th.phone{ 'ng-show' => 'columns.phone.visible' } - %a{ :href => '', 'ng-click' => "sorting.predicate = 'order.phone'; sorting.reverse = !sorting.reverse" } + %a{ :href => '', 'ng-click' => "sorting.toggle('order.phone')" } = t("admin.phone") %th.date{ 'ng-show' => 'columns.order_date.visible' } - %a{ :href => '', 'ng-click' => "sorting.predicate = 'order.completed_at'; sorting.reverse = !sorting.reverse" } + %a{ :href => '', 'ng-click' => "sorting.toggle('order.completed_at')" } = t("admin.orders.bulk_management.order_date") %th.producer{ 'ng-show' => 'columns.producer.visible' } - %a{ :href => '', 'ng-click' => "sorting.predicate = 'supplier.name'; sorting.reverse = !sorting.reverse" } + %a{ :href => '', 'ng-click' => "sorting.toggle('supplier.name')" } = t("admin.producer") %th.order_cycle{ 'ng-show' => 'columns.order_cycle.visible' } - %a{ :href => '', 'ng-click' => "sorting.predicate = 'order.order_cycle.name'; sorting.reverse = !sorting.reverse" } + %a{ :href => '', 'ng-click' => "sorting.toggle('order.order_cycle.name')" } = t("admin.order_cycle") %th.hub{ 'ng-show' => 'columns.hub.visible' } - %a{ :href => '', 'ng-click' => "sorting.predicate = 'order.distributor.name'; sorting.reverse = !sorting.reverse" } + %a{ :href => '', 'ng-click' => "sorting.toggle('order.distributor.name')" } = t("admin.shop") %th.variant{ 'ng-show' => 'columns.variant.visible' } - %a{ :href => '', 'ng-click' => "sorting.predicate = 'units_variant.full_name'; sorting.reverse = !sorting.reverse" } + %a{ :href => '', 'ng-click' => "sorting.toggle('units_variant.full_name')" } = t("admin.orders.bulk_management.product_unit") %th.quantity{ 'ng-show' => 'columns.quantity.visible' } = t("admin.quantity")