diff --git a/Classes/Controller/Ajax/JoblistController.php b/Classes/Controller/Ajax/JoblistController.php index 907ca34fb363653e89a1ac4270a1c07cb551340d..3207037e400f591be658ea77c2ea00d8a1c5ec3d 100644 --- a/Classes/Controller/Ajax/JoblistController.php +++ b/Classes/Controller/Ajax/JoblistController.php @@ -27,11 +27,9 @@ namespace SGalinski\SgJobs\Controller\Ajax; ***************************************************************/ use SGalinski\SgAjax\Controller\Ajax\AbstractAjaxController; -use SGalinski\SgJobs\Service\BackendService; use SGalinski\SgJobs\Service\FrontendFilterService; use TYPO3\CMS\Core\Resource\ResourceFactory; use TYPO3\CMS\Core\Utility\GeneralUtility; -use TYPO3\CMS\Extbase\Configuration\ConfigurationManagerInterface; /** * Ajax Controller @@ -70,7 +68,7 @@ class JoblistController extends AbstractAjaxController { $this->assignFilterValues($recordPageId); // pagination logic - $jobLimit = (int) $this->settings['jobLimit']; + $jobLimit = (int) $_POST['parameters']['limit']; $offset = 0; $currentPageBrowserPage = (int) GeneralUtility::_GP('tx_sgjobs_pagebrowser')['currentPage']; if ($currentPageBrowserPage && $jobLimit) { @@ -94,6 +92,7 @@ class JoblistController extends AbstractAjaxController { $this->view->assign('selectedLocation', $filters['location']); $this->view->assign('selectedArea', $filters['area']); $this->view->assign('selectedFunction', $filters['function']); + $this->view->assign('limit', $jobLimit); } /** diff --git a/Classes/Controller/JoblistController.php b/Classes/Controller/JoblistController.php index 2b23079d5264e1d508a617f1a896e80e91df43f4..f193a3aa65acbf7ff8bb88f1e871838e5e7c974e 100644 --- a/Classes/Controller/JoblistController.php +++ b/Classes/Controller/JoblistController.php @@ -85,6 +85,7 @@ class JoblistController extends ActionController { $numberOfPages = ($jobLimit <= 0 ? 0 : ceil($jobsCount / $jobLimit)); $this->view->assign('jobs', $jobs); + $this->view->assign('limit', $jobLimit); $this->view->assign('numberOfPages', $numberOfPages); } diff --git a/Resources/Private/Partials/Filter.html b/Resources/Private/Partials/Filter.html index d5e2ca21305546f912feeddeb81589a37e1cba1b..29b9424ece620f4c0f8ba93722c407ab9f426708 100644 --- a/Resources/Private/Partials/Filter.html +++ b/Resources/Private/Partials/Filter.html @@ -4,4 +4,5 @@ <f:form.select class="sgjobs-select form-control" multiple="0" size="1" value="{selectedCompany}" property="filterCompany" optionValueField="value" options="{companies}" id="filter-companies" /> <f:form.select class="sgjobs-select form-control" multiple="0" size="1" value="{selectedArea}" property="filterArea" optionValueField="value" options="{areas}" id="filter-areas" /> <f:form.select class="sgjobs-select form-control" multiple="0" size="1" value="{selectedFunction}" property="filterFunction" optionValueField="value" options="{functions}" id="filter-functions" /> + <f:form.hidden value="{limit}" id="filter-limit" /> </f:form> diff --git a/Resources/Private/Templates/Ajax/Joblist/Filter.html b/Resources/Private/Templates/Ajax/Joblist/Filter.html index 5d9bbcbdbf5a3ddde757d7fb4b724437959a90cb..5fdeffc60cd5119e0577e19f191c2acab074a094 100644 --- a/Resources/Private/Templates/Ajax/Joblist/Filter.html +++ b/Resources/Private/Templates/Ajax/Joblist/Filter.html @@ -2,7 +2,7 @@ partial="Filter" arguments="{filters: filters, countries: countries, cities: cities, companies: companies, areas: areas, functions: functions, selectedCountry: selectedCountry, selectedCompany: selectedCompany, - selectedLocation: selectedLocation, selectedArea: selectedArea, selectedFunction: selectedFunction}" + selectedLocation: selectedLocation, selectedArea: selectedArea, selectedFunction: selectedFunction, limit: limit}" /> <f:for each="{jobs}" as="job"> diff --git a/Resources/Private/Templates/Joblist/Index.html b/Resources/Private/Templates/Joblist/Index.html index 04b440d5d0b335c477104023744b1bdfb2ae1bf4..ee1921d53a517923f67e28e469068d018c4ba528 100644 --- a/Resources/Private/Templates/Joblist/Index.html +++ b/Resources/Private/Templates/Joblist/Index.html @@ -5,7 +5,7 @@ <div id="sgjobs-joblist"> <f:render partial="Filter" - arguments="{filters: filters, countries: countries, cities: cities, companies: companies, areas: areas, functions: functions}" + arguments="{filters: filters, countries: countries, cities: cities, companies: companies, areas: areas, functions: functions, limit: limit}" /> <f:for each="{jobs}" as="job"> diff --git a/Resources/Public/JavaScript/sgJobs.js b/Resources/Public/JavaScript/sgJobs.js index 67265db4c1fd22a19b7aca251626a8129dc59a65..369061a23fd1f01f17a380644275ecab1f0b3f5b 100644 --- a/Resources/Public/JavaScript/sgJobs.js +++ b/Resources/Public/JavaScript/sgJobs.js @@ -52,6 +52,7 @@ export default class SgJobs { company: $('#filter-companies').val(), area: $('#filter-areas').val(), function: $('#filter-functions').val(), + limit: $('#filter-limit').val() } } ).done(function(result) {