finetune behavior

This commit is contained in:
Harald Bamberger
2026-03-12 11:10:13 +01:00
parent dd87e893ba
commit dd760f8210
4 changed files with 10 additions and 34 deletions
@@ -140,6 +140,7 @@ class Student extends FHCAPI_Controller
. $this->PrestudentModel->escape($studiensemester_kurzbz)
. ") AS statusofsemester"
);
$this->PrestudentModel->addSelect($this->PrestudentModel->escape($studiensemester_kurzbz) . ' as query_studiensemester_kurzbz');
$this->PrestudentModel->addJoin('public.tbl_student s', 'prestudent_id', 'LEFT');
$this->PrestudentModel->addJoin('public.tbl_benutzer b', 'student_uid = uid', 'LEFT');
@@ -145,7 +145,6 @@ getSemesterStati(prestudent_id){
.call(ApiDetailHeader.getSemesterStati(prestudent_id))
.then(result => {
this.semesterStati = result.data;
//console.log("getSemesterStati loaded for prestudent_id " + prestudent_id);
})
.catch(this.$fhcAlert.handleSystemError);
}
@@ -422,22 +422,6 @@ export default {
this.$refs.searchbar.abort();
this.$refs.searchbar.hideresult();
},
handleReloadStudent_DEPR(students){
// @reload-students="handleReloadStudent"
//TODO(Manu) delete
this.$refs.details.reload(); //reload simply without updateUrl
//this.selected = students;
//analoge to url_studiensemester_kurzbz
/* this.$refs.stvList.updateUrl(
ApiStv.students.uid(students[0].uid,'CURRENT_SEMESTER'),
true
);*/
/* this.$refs.stvList.updateUrl(
ApiStv.students.uid(students[0].uid,'CURRENT_SEMESTER'),
true
);*/
}
},
created() {
if (!this.url_studiensemester_kurzbz) {
@@ -46,10 +46,6 @@ export default {
return Object.fromEntries(Object.entries(this.configStudents).filter(([ , value ]) => !value.showOnlyWithUid));
}
return Object.fromEntries(Object.entries(this.configStudents).filter(([ , value ]) => !value.showOnlyWithUid && !value.showOnlyWithUid));
},
//for reloading component if data changes
headerKey() {
return this.students?.[0]?.uid || this.localStudent?.[0]?.uid || "empty";
}
},
watch: {
@@ -57,21 +53,21 @@ export default {
if (n !== o && o !== undefined)
this.loadConfig();
},
//ohne zusätzlichen Watcher reload header und details
currentSemester(newVal) {
if (
this.students &&
this.students.length > 0 &&
Array.isArray(this.students) &&
this.students.length === 1 &&
newVal !== this.students[0].query_studiensemester_kurzbz
) {
console.log("studiensemester_kurzbz " + this.students[0].query_studiensemester_kurzbz + " vs " + newVal);
this.reloadDataStudent();
}
else {
this.localStudent = null;
}
},
headerKey(newVal){
this.reloadDataStudent();
students() {
this.localStudent = null;
}
},
methods: {
loadConfig() {
@@ -114,9 +110,6 @@ export default {
created() {
this.loadConfig();
},
/* //TODO(remove)
* {{headerKey}} {{localStudent?.[0]?.uid}} <br> {{ students?.[0]?.uid }}
* */
template: `
<div class="stv-details h-100 d-flex flex-column">
<div v-if="!students?.length" class="justify-content-center d-flex h-100 align-items-center">
@@ -124,16 +117,15 @@ export default {
</div>
<div v-else-if="configStudent && configStudents" class="d-flex flex-column h-100">
<fhc-header
:key="headerKey"
:headerData="localStudent || students"
typeHeader="student"
>
</fhc-header>
<fhc-tabs
v-if="students.length == 1"
ref="tabs"
ref="tabs"
:useprimevue="true"
:modelValue="localStudent[0] || students[0]"
:modelValue="(Array.isArray(localStudent) && localStudent[0]) || students[0]"
:config="config"
:default="$route.params.tab"
style="flex: 1 1 0%; height: 0%"