From ebd5d706c25d5b431f5d02bb7f234b8410d352cf Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Bellet Date: Fri, 17 Feb 2023 11:38:12 +0100 Subject: [PATCH] Add search input Actually this only search for `order_email` or `order_number` or `product_name` or `supplier_name` + Improve display by reduce each columns width --- .../controllers/line_items_controller.js.coffee | 2 ++ .../spree/admin/orders/bulk_management.html.haml | 14 ++++++++++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/app/assets/javascripts/admin/line_items/controllers/line_items_controller.js.coffee b/app/assets/javascripts/admin/line_items/controllers/line_items_controller.js.coffee index 1932043f7d..d411c81440 100644 --- a/app/assets/javascripts/admin/line_items/controllers/line_items_controller.js.coffee +++ b/app/assets/javascripts/admin/line_items/controllers/line_items_controller.js.coffee @@ -26,6 +26,7 @@ angular.module("admin.lineItems").controller 'LineItemsCtrl', ($scope, $timeout, $scope.distributorFilter = '' $scope.supplierFilter = '' $scope.orderCycleFilter = '' + $scope.query = '' $scope.startDate = undefined $scope.endDate = undefined event = new CustomEvent('flatpickr:clear') @@ -59,6 +60,7 @@ angular.module("admin.lineItems").controller 'LineItemsCtrl', ($scope, $timeout, [formattedStartDate, formattedEndDate] = $scope.formatDates($scope.startDate, $scope.endDate) RequestMonitor.load LineItems.index( + "q[variant_product_supplier_name_or_order_email_or_order_number_or_product_name_cont]": $scope.query, "q[order_state_not_eq]": "canceled", "q[order_shipment_state_not_eq]": "shipped", "q[order_completed_at_not_null]": "true", diff --git a/app/views/spree/admin/orders/bulk_management.html.haml b/app/views/spree/admin/orders/bulk_management.html.haml index 354e7c09af..3ca93cfc81 100644 --- a/app/views/spree/admin/orders/bulk_management.html.haml +++ b/app/views/spree/admin/orders/bulk_management.html.haml @@ -18,22 +18,28 @@ %input.red{ type: "button", value: "Save Changes", ng: { click: "submit()", disabled: "!bulk_order_form.$dirty" } } %legend{ align: 'center'}= t(:search) %div{ :class => "sixteen columns alpha" } - .filter_select{ :class => "four columns" } + .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'), "ng-keypress" => "$event.keyCode === 13 && fetchResults()" } + .one.columns +   + .filter_select{ :class => "three columns" } %label{ :for => 'supplier_filter' } = t("admin.producer") %br %input#supplier_filter.ofn-select2.fullwidth{ type: 'number', 'min-search' => 5, data: 'suppliers', placeholder: "#{t(:all)}", blank: "{ id: '', name: '#{t(:all)}' }", on: { selecting: "confirmRefresh" }, ng: { model: 'supplierFilter' } } - .filter_select{ :class => "four columns" } + .filter_select{ :class => "three columns" } %label{ :for => 'distributor_filter' } = t("admin.shop") %br %input#distributor_filter.ofn-select2.fullwidth{ type: 'number', 'min-search' => 5, data: 'distributors', placeholder: "#{t(:all)}", blank: "{ id: '', name: '#{t(:all)}' }", on: { selecting: "confirmRefresh" }, ng: { model: 'distributorFilter' } } - .filter_select{ :class => "four columns" } + .filter_select{ :class => "three columns" } %label{ :for => 'order_cycle_filter' } = t("admin.order_cycle") %br %input#order_cycle_filter.ofn-select2.fullwidth{ type: 'number', 'min-search' => 5, data: 'orderCycles', placeholder: "#{t(:all)}", blank: "{ id: '', name: '#{t(:all)}' }", on: { selecting: "confirmRefresh" }, ng: { model: 'orderCycleFilter' } } - .date_filter{class: "four columns"} + .date_filter{class: "three columns"} %label = t("date_range") %br