update(Cms.js/News.js/PhrasenPlugin): removes the reload option, because the content can be newly fetched based on the currently active language

This commit is contained in:
SimonGschnell
2024-12-13 14:41:07 +01:00
parent 701f44c767
commit cb6fca9a2e
11 changed files with 54 additions and 69 deletions
-42
View File
@@ -79,48 +79,6 @@ class Cms extends Auth_Controller
$this->load->view('CisVue/Cms/Content', ['infoscreen' => $infoscreen, 'studiengang_kz' => $studiengang_kz, 'semester' => $semester, 'mischen' => $mischen, 'titel' => $titel, 'edit' => $edit, 'sichtbar' => $sichtbar]);
}
public function getNews($infoscreen = false, $studiengang_kz = null, $semester = null, $mischen = true, $titel = '', $edit = false, $sichtbar = true)
{
$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)) {
$this->terminateWithJsonError(getError($news));
}
$news = hasData($news) ? getData($news) : null;
if ($news) {
echo json_encode($news);
} else {
show_error("News: No data found");
}
}
public function getNewsRowCount($infoscreen = false, $studiengang_kz = null, $semester = null, $mischen = true, $titel = '', $fachbereich_kurzbz = null, $maxalter = 0, $edit = false, $sichtbar = true, $page = 1, $page_size = 10)
{
list($studiengang_kz, $semester) = $this->cmslib->getStgAndSem($studiengang_kz, $semester);
$all = $edit;
$num_rows = $this->NewsModel->countNewsWithContent(getSprache(), $studiengang_kz, $semester, $fachbereich_kurzbz, $sichtbar, $maxalter, $page, $this->page_size, $all, $mischen);
if (isError($num_rows)) {
$this->terminateWithJsonError(getError($num_rows));
}
$num_rows = hasData($num_rows) ? getData($num_rows) : null;
if ($num_rows) {
echo json_encode($num_rows);
} else {
show_error("News number rows: No data found");
}
}
public function getRoomInformation($ort_kurzbz){
$this->load->view('CisVue/Cms/RoomInformation',['ort_kurzbz'=>$ort_kurzbz]);
}
@@ -175,14 +175,18 @@ class Cms extends FHCAPI_Controller
// getting the GET parameters
$page = intval($this->input->get('page', true));
$page_size = intval($this->input->get('page_size', true));
$sprache = $this->input->get('sprache', true);
if(!$sprache)
{
$sprache = getUserLanguage();
}
// default value for the page_size is 10
$page_size = $page_size ?? 10;
$news = $this->cmslib->getNews($infoscreen, $studiengang_kz, $semester, $mischen, $titel, $edit, $sichtbar, $page, $page_size);
$news = $this->cmslib->getNews($infoscreen, $studiengang_kz, $semester, $mischen, $titel, $edit, $sichtbar, $page, $page_size, $sprache);
$news = $this->getDataOrTerminateWithError($news);
$this->addMeta('test', $this->p->t('global', 'studiengangsleitung'));
$this->addMeta('phrases', json_decode($this->p->getJson()));
$this->terminateWithSuccess($news);
+2 -2
View File
@@ -221,7 +221,7 @@ class CmsLib
*
* @return void
*/
public function getNews($infoscreen = false, $studiengang_kz = null, $semester = null, $mischen = true, $titel = '', $edit = false, $sichtbar = true, $page = 1, $page_size = 10)
public function getNews($infoscreen = false, $studiengang_kz = null, $semester = null, $mischen = true, $titel = '', $edit = false, $sichtbar = true, $page = 1, $page_size = 10, $sprache)
{
$this->ci->load->model('organisation/Studiengang_model', 'StudiengangModel');
list($studiengang_kz, $semester) = $this->getStgAndSem($studiengang_kz, $semester);
@@ -230,7 +230,7 @@ class CmsLib
$xml = '<?xml version="1.0" encoding="UTF-8"?><content>';
$this->ci->load->model('content/News_model', 'NewsModel');
$news = $this->ci->NewsModel->getNewsWithContent(getSprache(), $studiengang_kz, $semester, null, $sichtbar, 0, $page, $page_size, $all, $mischen);
$news = $this->ci->NewsModel->getNewsWithContent($sprache, $studiengang_kz, $semester, null, $sichtbar, 0, $page, $page_size, $all, $mischen);
if (isError($news))
return $news;
+2 -1
View File
@@ -12,12 +12,13 @@ export default {
},
//api function used for the news View that renders the html
getNews(page = 1, page_size = 10) {
getNews(page = 1, page_size = 10, sprache) {
return this.$fhcApi.get(
"/api/frontend/v1/Cms/getNews",
{
page,
page_size,
sprache,
},
);
},
+1 -1
View File
@@ -39,6 +39,6 @@ const app = Vue.createApp({
setScrollbarWidth();
app.use(primevue.config.default, { zIndex: { overlay: 9999 } });
app.use(Phrasen, {reload: true});
app.use(Phrasen);
app.mount("#cms");
//#cms [data-confirm], #cms [data-href]
+1 -1
View File
@@ -89,5 +89,5 @@ const app = Vue.createApp({
setScrollbarWidth();
app.use(Phrasen, {reload: true});
app.use(Phrasen);
app.mount('#content');
+1 -1
View File
@@ -11,4 +11,4 @@ const app = Vue.createApp({
setScrollbarWidth();
app.use(Phrasen, {reload: true}).mount('#content');
app.use(Phrasen).mount('#content');
+1 -1
View File
@@ -161,5 +161,5 @@ const app = Vue.createApp({
</fhc-calendar>
`
});
app.use(Phrasen, {reload: true});
app.use(Phrasen);
app.mount('#content');
+1 -1
View File
@@ -21,5 +21,5 @@ const app = Vue.createApp({
}
});
app
.use(Phrasen, {reload: true})
.use(Phrasen)
.mount('#wrapper');
+18 -11
View File
@@ -12,10 +12,6 @@ export default {
type: [String, Number],
default: null,
},
sprache: {
type: [String, Number],
default: null,
},
sichtbar: {
type: [String, Number],
default: null,
@@ -32,7 +28,16 @@ export default {
content: null,
};
},
watch:{
sprache: function(sprache){
this.fetchContent();
console.log(sprache);
},
},
computed: {
sprache(){
return this.$p.user_language.value;
},
computeContentType: function () {
switch (this.content_type) {
case "raum_contentmittitel":
@@ -43,14 +48,16 @@ export default {
;
},
},
created() {
this.$fhcApi.factory.cms.content(this.content_id, this.version, this.sprache, this.sichtbar).then(res => {
this.content = res.data.content;
this.content_type = res.data.type;
});
methods:{
fetchContent(){
return this.$fhcApi.factory.cms.content(this.content_id, this.version, this.sprache, this.sichtbar).then(res => {
this.content = res.data.content;
this.content_type = res.data.type;
});
}
},
mounted() {
created() {
this.fetchContent();
},
template: /*html*/ `
<!-- div that contains the content -->
+21 -6
View File
@@ -11,9 +11,28 @@ export default {
content: null,
maxPageCount: 0,
page_size: 10,
page:1,
};
},
watch:{
'$p.user_language.value':function(sprache){
this.fetchNews();
console.log("ere")
}
},
computed:{
sprache: function(){
return this.$p.user_language.value;
},
},
methods: {
fetchNews: function(){
return this.$fhcApi.factory.cms.getNews(this.page, this.page_size, this.sprache)
.then(res => res.data)
.then(result => {
this.content = result;
});
},
loadNewPageContent: function (data) {
this.$fhcApi.factory.cms.getNews(data.page, data.rows)
.then(res => res.data)
@@ -24,11 +43,7 @@ export default {
},
},
created() {
this.$fhcApi.factory.cms.getNews(1, this.page_size)
.then(res => res.data)
.then(result => {
this.content = result;
});
this.fetchNews();
this.$fhcApi.factory.cms.getNewsRowCount()
.then(res => res.data)
@@ -39,7 +54,7 @@ export default {
template: /*html*/ `
<h2 >News</h2>
<hr/>
<pagination v-show="content?true:false" :page_size="page_size" @page="loadNewPageContent" :maxPageCount="maxPageCount">
<pagination v-show="content?true:false" :page_size="page_size" @page="page=$event.page; loadNewPageContent($event)" :maxPageCount="maxPageCount">
</pagination>
<div class="container-fluid">
<div class="row">