From f08b83711566880dfe73a92ac00b596685ff96f3 Mon Sep 17 00:00:00 2001 From: Luis Ramos Date: Sat, 13 Jun 2020 11:49:26 +0100 Subject: [PATCH 1/3] Make enter submit the search form in products list --- .../javascripts/admin/bulk_product_update.js.coffee | 4 ++++ .../admin/directives/enter_to_submit.js.coffee | 8 ++++++++ app/views/spree/admin/products/index/_filters.html.haml | 2 +- 3 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 app/assets/javascripts/admin/directives/enter_to_submit.js.coffee diff --git a/app/assets/javascripts/admin/bulk_product_update.js.coffee b/app/assets/javascripts/admin/bulk_product_update.js.coffee index 94939f3f91..cb434ebe7a 100644 --- a/app/assets/javascripts/admin/bulk_product_update.js.coffee +++ b/app/assets/javascripts/admin/bulk_product_update.js.coffee @@ -64,6 +64,10 @@ angular.module("ofn.admin").controller "AdminProductEditCtrl", ($scope, $timeout RequestMonitor.load(BulkProducts.fetch(params).$promise).then -> $scope.resetProducts() + # Used by directive enterToSubmit + $scope.submit = -> + $scope.fetchProducts() + removeClearedValues = -> delete $scope.producerFilter if $scope.producerFilter == "0" delete $scope.categoryFilter if $scope.categoryFilter == "0" diff --git a/app/assets/javascripts/admin/directives/enter_to_submit.js.coffee b/app/assets/javascripts/admin/directives/enter_to_submit.js.coffee new file mode 100644 index 0000000000..913c6167f0 --- /dev/null +++ b/app/assets/javascripts/admin/directives/enter_to_submit.js.coffee @@ -0,0 +1,8 @@ +angular.module("ofn.admin").directive "enterToSubmit", -> + restrict: 'A' + + link: (scope, element, attrs) -> + element.bind "keypress", (event) -> + return if event.which != 13 + + scope.submit() diff --git a/app/views/spree/admin/products/index/_filters.html.haml b/app/views/spree/admin/products/index/_filters.html.haml index 5aeaf5e4f9..71fc902792 100644 --- a/app/views/spree/admin/products/index/_filters.html.haml +++ b/app/views/spree/admin/products/index/_filters.html.haml @@ -5,7 +5,7 @@ .quick_search.three.columns.alpha %label{ for: 'quick_filter' } %br - %input.quick-search.fullwidth{ ng: {model: 'query'}, name: "quick_filter", type: 'text', placeholder: t('admin.quick_search') } + %input.quick-search.fullwidth{ ng: {model: 'query'}, name: "quick_filter", type: 'text', placeholder: t('admin.quick_search'), "enter-to-submit" => "" } .one.columns   .filter_select.three.columns %label{ for: 'producer_filter' }= t 'producer' From 1740879261b5c6b002e36f940c5db01a8b63abb8 Mon Sep 17 00:00:00 2001 From: Luis Ramos Date: Sat, 13 Jun 2020 12:07:25 +0100 Subject: [PATCH 2/3] Revert directive and just use ng-kkeypress --- .../javascripts/admin/bulk_product_update.js.coffee | 4 ---- .../admin/directives/enter_to_submit.js.coffee | 8 -------- app/views/spree/admin/products/index/_filters.html.haml | 2 +- 3 files changed, 1 insertion(+), 13 deletions(-) delete mode 100644 app/assets/javascripts/admin/directives/enter_to_submit.js.coffee diff --git a/app/assets/javascripts/admin/bulk_product_update.js.coffee b/app/assets/javascripts/admin/bulk_product_update.js.coffee index cb434ebe7a..94939f3f91 100644 --- a/app/assets/javascripts/admin/bulk_product_update.js.coffee +++ b/app/assets/javascripts/admin/bulk_product_update.js.coffee @@ -64,10 +64,6 @@ angular.module("ofn.admin").controller "AdminProductEditCtrl", ($scope, $timeout RequestMonitor.load(BulkProducts.fetch(params).$promise).then -> $scope.resetProducts() - # Used by directive enterToSubmit - $scope.submit = -> - $scope.fetchProducts() - removeClearedValues = -> delete $scope.producerFilter if $scope.producerFilter == "0" delete $scope.categoryFilter if $scope.categoryFilter == "0" diff --git a/app/assets/javascripts/admin/directives/enter_to_submit.js.coffee b/app/assets/javascripts/admin/directives/enter_to_submit.js.coffee deleted file mode 100644 index 913c6167f0..0000000000 --- a/app/assets/javascripts/admin/directives/enter_to_submit.js.coffee +++ /dev/null @@ -1,8 +0,0 @@ -angular.module("ofn.admin").directive "enterToSubmit", -> - restrict: 'A' - - link: (scope, element, attrs) -> - element.bind "keypress", (event) -> - return if event.which != 13 - - scope.submit() diff --git a/app/views/spree/admin/products/index/_filters.html.haml b/app/views/spree/admin/products/index/_filters.html.haml index 71fc902792..0e7d47543d 100644 --- a/app/views/spree/admin/products/index/_filters.html.haml +++ b/app/views/spree/admin/products/index/_filters.html.haml @@ -5,7 +5,7 @@ .quick_search.three.columns.alpha %label{ for: 'quick_filter' } %br - %input.quick-search.fullwidth{ ng: {model: 'query'}, name: "quick_filter", type: 'text', placeholder: t('admin.quick_search'), "enter-to-submit" => "" } + %input.quick-search.fullwidth{ ng: {model: 'query'}, name: "quick_filter", type: 'text', placeholder: t('admin.quick_search'), "ng-keypress" => "$event.keyCode === 13 && fetchProducts()" } .one.columns   .filter_select.three.columns %label{ for: 'producer_filter' }= t 'producer' From e6e4b6f95cd18a78907bc98fc935e757dbb23f05 Mon Sep 17 00:00:00 2001 From: Luis Ramos Date: Sat, 13 Jun 2020 12:08:13 +0100 Subject: [PATCH 3/3] Add keypress events to text input fields on orders search page --- app/views/spree/admin/orders/_filters.html.haml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/views/spree/admin/orders/_filters.html.haml b/app/views/spree/admin/orders/_filters.html.haml index 63c65fd488..e06d3ad5c6 100644 --- a/app/views/spree/admin/orders/_filters.html.haml +++ b/app/views/spree/admin/orders/_filters.html.haml @@ -16,17 +16,17 @@ .four.columns .field = label_tag nil, t(:order_number) - = text_field_tag "q[number_cont]", nil, 'ng-model' => 'q.number_cont' + = text_field_tag "q[number_cont]", nil, "ng-model" => "q.number_cont", "ng-keypress" => "$event.keyCode === 13 && fetchResults()" .field = label_tag nil, t(:email) - = email_field_tag "q[email_cont", nil, 'ng-model' => 'q.email_cont' + = email_field_tag "q[email_cont", nil, "ng-model" => "q.email_cont", "ng-keypress" => "$event.keyCode === 13 && fetchResults()" .four.columns .field = label_tag nil, t(:first_name_begins_with) - = text_field_tag "q[bill_address_firstname_start]", nil, size: 25, 'ng-model' => 'q.bill_address_firstname_start' + = text_field_tag "q[bill_address_firstname_start]", nil, size: 25, "ng-model" => "q.bill_address_firstname_start", "ng-keypress" => "$event.keyCode === 13 && fetchResults()" .field = label_tag nil, t(:last_name_begins_with) - = text_field_tag "q[bill_address_lastname_start]", nil, size: 25, 'ng-model' => 'q.bill_address_lastname_start' + = text_field_tag "q[bill_address_lastname_start]", nil, size: 25, "ng-model" => "q.bill_address_lastname_start", "ng-keypress" => "$event.keyCode === 13 && fetchResults()" .omega.four.columns .field.checkbox %label