diff --git a/resources/assets/js/mixins/global.js b/resources/assets/js/mixins/global.js index c913fcd79..b03db70fb 100644 --- a/resources/assets/js/mixins/global.js +++ b/resources/assets/js/mixins/global.js @@ -235,6 +235,45 @@ export default { }) .catch(error => { }); + }, + + onChangePaginationLimit(event) { + let path = ''; + + if (window.location.search.length) { + if (window.location.search.includes('limit')) { + let queries = []; + let query = window.location.search; + + query = query.replace('?', ''); + queries = query.split('&'); + + path = window.location.origin + window.location.pathname; + + queries.forEach(function (_query, index) { + let query_partials = _query.split('='); + + if (index == 0) { + path += '?' + } else { + path += '&'; + } + + if (query_partials[0] == 'limit') { + path += 'limit=' + event.target.value; + } else { + path += query_partials[0] + '=' + query_partials[1]; + } + }); + + } else { + path = window.location.href + '&limit=' + event.target.value; + } + } else { + path = window.location.href + '?limit=' + event.target.value; + } + + window.location.href = path; } } } diff --git a/resources/views/partials/admin/pagination.blade.php b/resources/views/partials/admin/pagination.blade.php index 588d9ee08..f13e27c42 100644 --- a/resources/views/partials/admin/pagination.blade.php +++ b/resources/views/partials/admin/pagination.blade.php @@ -4,7 +4,7 @@ - {!! Form::select('limit', $limits, request('limit', setting('default.list_limit', '25')), ['class' => 'form-control form-control-sm table-header-search hidden-md', 'onchange' => 'this.form.submit()']) !!} + {!! Form::select('limit', $limits, request('limit', setting('default.list_limit', '25')), ['class' => 'form-control form-control-sm table-header-search hidden-md', '@change' => 'onChangePaginationLimit($event)']) !!}