makes it possible to send the page_size from the frontend to the backend to adopt how many rows to query

This commit is contained in:
SimonGschnell
2024-04-17 14:54:22 +02:00
parent 6c642f1242
commit 284ae0637e
4 changed files with 20 additions and 17 deletions
+13 -6
View File
@@ -29,7 +29,7 @@ class Cms extends FHC_Controller
$this->load->model('content/News_model', 'NewsModel');
// setting up the papgination_size
$this->pagination_size = 10;
$this->page_size = 10;
}
// -----------------------------------------------------------------------------------------------------------------
@@ -71,10 +71,17 @@ class Cms extends FHC_Controller
public function getNews($infoscreen = false, $studiengang_kz = null, $semester = null, $mischen = true, $titel = '', $edit = false, $sichtbar = true)
{
$page = intval($this->input->get('page', true));
$news = $this->cmslib->getNews($infoscreen, $studiengang_kz, $semester, $mischen, $titel, $edit, $sichtbar, $page, $this->pagination_size);
$get_page = intval($this->input->get('page', true));
$get_page_size = intval($this->input->get('page_size', true));
if ($get_page) {
$page = $get_page;
}
if ($get_page_size) {
$page_size = $get_page_size;
} else {
$page_size = $this->page_size;
}
$news = $this->cmslib->getNews($infoscreen, $studiengang_kz, $semester, $mischen, $titel, $edit, $sichtbar, $page, $page_size);
if (isError($news)) {
echo json_encode(getError($news));
@@ -101,7 +108,7 @@ class Cms extends FHC_Controller
}
}
$all = $edit;
$query = $this->NewsModel->getNewsWithContentQuery(getSprache(), $studiengang_kz, $semester, $fachbereich_kurzbz, $sichtbar, $maxalter, $page, $this->pagination_size, $all, $mischen);
$query = $this->NewsModel->getNewsWithContentQuery(getSprache(), $studiengang_kz, $semester, $fachbereich_kurzbz, $sichtbar, $maxalter, $page, $this->page_size, $all, $mischen);
echo json_encode($query->maxPageCount);
}
}
+2 -2
View File
@@ -1,6 +1,5 @@
export default {
getNews: function (page = 1) {
console.log("this is the page that was passed", page);
getNews: function (page = 1, page_size = 10) {
const url =
FHC_JS_DATA_STORAGE_OBJECT.app_root +
FHC_JS_DATA_STORAGE_OBJECT.ci_router +
@@ -8,6 +7,7 @@ export default {
return axios.get(url, {
params: {
page,
page_size,
},
});
},
+2 -3
View File
@@ -12,14 +12,13 @@ export default {
},
methods: {
loadNewPageContent: function (data) {
Vue.$fhcapi.Cms.getNews(data.page).then((result) => {
console.log("fetched url :", result.data);
Vue.$fhcapi.Cms.getNews(data.page, data.rows).then((result) => {
this.content = result.data;
});
},
},
created() {
Vue.$fhcapi.Cms.getNews().then((result) => {
Vue.$fhcapi.Cms.getNews(1, 10).then((result) => {
this.content = result.data;
});
@@ -16,17 +16,14 @@ export default {
//console.log("hier", data.page);
},
},
mounted() {
console.log("pagination mounted");
},
mounted() {},
template: /*html*/ `
<pre>{{JSON.stringify(maxPageCount,null,2)}}</pre>
<paginator @page="(data)=>$emit('page',{...data, page:data.page+1})" :rows="10" :totalRecords="maxPageCount" :rowsPerPageOptions="[10, 20, 30]" ></paginator>
<slot>
Placeholder
</slot>
<paginator :rows="10" :totalRecords="120" :rowsPerPageOptions="[10, 20, 30]"></paginator>
`,
};