mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-01-24 20:36:49 +00:00
Merge pull request #2829 from Matt-Yorkley/bi/results_per_page
Add per_page controls to admin orders index
This commit is contained in:
@@ -3,8 +3,14 @@ angular.module("admin.orders").controller "ordersCtrl", ($scope, RequestMonitor,
|
||||
$scope.pagination = Orders.pagination
|
||||
$scope.orders = Orders.all
|
||||
$scope.sortOptions = SortOptions
|
||||
$scope.per_page_options = [
|
||||
{id: 15, name: t('js.admin.orders.index.per_page', results: 15)},
|
||||
{id: 50, name: t('js.admin.orders.index.per_page', results: 50)},
|
||||
{id: 100, name: t('js.admin.orders.index.per_page', results: 100)}
|
||||
]
|
||||
|
||||
$scope.initialise = ->
|
||||
$scope.per_page = 15
|
||||
$scope.q = {
|
||||
completed_at_not_null: true
|
||||
}
|
||||
@@ -25,7 +31,7 @@ angular.module("admin.orders").controller "ordersCtrl", ($scope, RequestMonitor,
|
||||
'q[order_cycle_id_in]': $scope['q']['order_cycle_id_in'],
|
||||
'q[order_cycle_id_in]': $scope['q']['order_cycle_id_in'],
|
||||
'q[s]': $scope.sorting || 'id desc',
|
||||
per_page: $scope.per_page || 15,
|
||||
per_page: $scope.per_page,
|
||||
page: page
|
||||
})
|
||||
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
.per-page {
|
||||
float: left;
|
||||
|
||||
.per-page-feedback {
|
||||
margin-left: 1em;
|
||||
}
|
||||
}
|
||||
@@ -65,8 +65,9 @@ Spree::Admin::OrdersController.class_eval do
|
||||
orders: ActiveModel::ArraySerializer.new(@orders, each_serializer: Api::Admin::OrderSerializer),
|
||||
pagination: {
|
||||
results: @orders.total_count,
|
||||
pages: @orders.num_pages,
|
||||
page: params[:page].to_i
|
||||
pages: @orders.num_pages.to_i,
|
||||
page: params[:page].to_i,
|
||||
per_page: params[:per_page].to_i
|
||||
}
|
||||
}
|
||||
end
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
.per-page{'ng-show' => '!RequestMonitor.loading && orders.length > 0'}
|
||||
%input.per-page-select.ofn-select2{type: 'number', data: 'per_page_options', 'ng-model' => 'per_page', 'ng-change' => 'fetchResults()'}
|
||||
|
||||
%span.per-page-feedback
|
||||
{{ 'spree.admin.orders.index.results_found' | t:{number: pagination.results} }}
|
||||
{{ 'spree.admin.orders.index.viewing' | t:{start: ((pagination.page -1) * pagination.per_page) +1, end: ((pagination.page -1) * pagination.per_page) + orders.length} }}
|
||||
@@ -16,6 +16,9 @@
|
||||
- content_for :table_filter do
|
||||
= render partial: 'filters'
|
||||
|
||||
.row
|
||||
= render partial: 'per_page_controls'
|
||||
|
||||
%table#listing_orders.index.responsive{width: "100%", 'ng-init' => 'initialise()', 'ng-show' => "!RequestMonitor.loading && orders.length > 0" }
|
||||
%colgroup
|
||||
%col{style: "width: 10%"}
|
||||
|
||||
@@ -2571,6 +2571,9 @@ See the %{link} to find out more about %{sitename}'s features and to start using
|
||||
resolve: Resolve
|
||||
new_tag_rule_dialog:
|
||||
select_rule_type: "Select a rule type:"
|
||||
orders:
|
||||
index:
|
||||
per_page: "%{results} per page"
|
||||
resend_user_email_confirmation:
|
||||
resend: "Resend"
|
||||
sending: "Resend..."
|
||||
@@ -2667,6 +2670,8 @@ See the %{link} to find out more about %{sitename}'s features and to start using
|
||||
next: "Next"
|
||||
loading: "Loading"
|
||||
no_orders_found: "No Orders Found"
|
||||
results_found: "%{number} Results found."
|
||||
viewing: "Viewing %{start} to %{end}."
|
||||
invoice:
|
||||
issued_on: Issued on
|
||||
tax_invoice: TAX INVOICE
|
||||
|
||||
Reference in New Issue
Block a user