refactors the LvMenu into its own component and removes debugging prints

This commit is contained in:
SimonGschnell
2024-09-16 14:55:26 +02:00
parent 4836ed8de0
commit e1c395146b
15 changed files with 314 additions and 274 deletions
-1
View File
@@ -86,7 +86,6 @@ Vue.createApp({
return Vue.$fhcapi.Search.search(searchsettings);
},
updatesearchtypes: function(newValues){
console.log(newValues,"this are the new values")
this.selectedtypes= newValues;
},
+2 -1
View File
@@ -1,7 +1,8 @@
import MylvStudent from "../../../components/Cis/Mylv/Student.js";
import Phrasen from "../../../plugin/Phrasen.js";
Vue.createApp({
components: {
MylvStudent
}
}).mount('#content');
}).use(Phrasen).mount('#content');
+117 -112
View File
@@ -1,118 +1,123 @@
import BsModal from "../Bootstrap/Modal.js";
import Alert from "../Bootstrap/Alert.js";
import LvMenu from "../Cis/Mylv/LvMenu.js"
export default {
components: {
BsModal,
Alert,
},
mixins: [BsModal],
props: {
event:Object,
title:{
type:String,
default:"title"
},
/*
* NOTE(chris):
* Hack to expose in "emits" declared events to $props which we use
* in the v-bind directive to forward all events.
* @see: https://github.com/vuejs/core/issues/3432
*/
onHideBsModal: Function,
onHiddenBsModal: Function,
onHidePreventedBsModal: Function,
onShowBsModal: Function,
onShownBsModal: Function,
},
data() {
return {
data:this.event,
menu: [],
result: false,
info: null,
};
},
computed: {
start_time: function(){
if(!this.data.start) return 'N/A';
return this.data.start.getHours() + ":" + this.data.start.getMinutes();
},
end_time: function(){
if(!this.data.end) return 'N/A';
return this.data.end.getHours() + ":" + this.data.end.getMinutes();
}
},
methods:{
onModalShow: function(){
console.log(this.event)
if (this.event.type == 'lehreinheit') {
this.$fhcApi.factory.stundenplan.getLehreinheitStudiensemester(this.event.lehreinheit_id[0]).then(
res=>res.data
).then(
studiensemester_kurzbz =>{
this.$fhcApi.factory.addons.getLvMenu(this.data.lehrveranstaltung_id, studiensemester_kurzbz).then(res => {
//this.$fhcApi.factory.addons.getLvMenu(750, "WS2005").then(res =>{
if (res.data) {
this.menu = res.data;
}
});
}
)
components: {
BsModal,
Alert,
LvMenu,
},
mixins: [BsModal],
props: {
event:Object,
title:{
type:String,
default:"title"
},
/*
* NOTE(chris):
* Hack to expose in "emits" declared events to $props which we use
* in the v-bind directive to forward all events.
* @see: https://github.com/vuejs/core/issues/3432
*/
onHideBsModal: Function,
onHiddenBsModal: Function,
onHidePreventedBsModal: Function,
onShowBsModal: Function,
onShownBsModal: Function,
},
data() {
return {
data:this.event,
menu: [],
result: false,
info: null,
isMenuSelected:false,
};
},
computed: {
start_time: function(){
if(!this.data.start) return 'N/A';
return this.data.start.getHours() + ":" + this.data.start.getMinutes();
},
end_time: function(){
if(!this.data.end) return 'N/A';
return this.data.end.getHours() + ":" + this.data.end.getMinutes();
}
}
},
mounted() {
this.modal = this.$refs.modalContainer.modal;
},
popup(options) {
return BsModal.popup.bind(this)(null, options);
},
template: /*html*/ `
<bs-modal ref="modalContainer" @showBsModal="onModalShow" v-bind="$props" body-class="" dialog-class="modal-lg" class="bootstrap-alert" backdrop="false" >
<template v-slot:title>
<template v-if="data.titel">{{ data.titel + ' - ' + data.lehrfach_bez + ' [' + data.ort_kurzbz+']'}}</template>
<template v-else>{{ data.lehrfach_bez + ' [' + data.ort_kurzbz+']'}}</template>
</template>
<template v-slot:default>
<div class="row">
<div class="offset-3 col-4"><span>Datum:</span></div>
<div class=" col"><span>{{data.datum}}</span></div>
</div>
<div class="row">
<div class="offset-3 col-4"><span>Raum:</span></div>
<div class=" col"><span>{{data.ort_kurzbz}}</span></div>
</div>
<div class="row">
<div class="offset-3 col-4"><span>LV:</span></div>
<div class=" col"><span>{{'('+data.lehrform+') ' + data.lehrfach_bez}}</span></div>
</div>
<div class="row">
<div class="offset-3 col-4"><span>Lektor:</span></div>
<div class=" col"><span>{{data.lektor.map(lektor=>lektor.kurzbz).join("/")}}</span></div>
</div>
<div class="row">
<div class="offset-3 col-4"><span>Zeitraum:</span></div>
<div class=" col"><span>{{start_time + ' - ' + end_time}}</span></div>
</div>
<div class="row">
<div class=" col"><h2>LvMenu:</h2></div>
</div>
<div v-for="menuPunkt in menu" class="row">
<div class="col">
<a target="_blank" :href="menuPunkt.c4_link">{{menuPunkt.name}}</a>
</div>
</div>
</template>
<!-- optional footer -->
<template v-slot:footer >
<button class="btn btn-outline-secondary " @click="hide">{{$p.t('ui','cancel')}}</button>
</template>
<!-- end of optional footer -->
</bs-modal>`,
},
methods:{
onModalShow: function(){
if (this.event.type == 'lehreinheit') {
this.$fhcApi.factory.stundenplan.getLehreinheitStudiensemester(this.event.lehreinheit_id[0]).then(
res=>res.data
).then(
studiensemester_kurzbz =>{
this.$fhcApi.factory.addons.getLvMenu(this.data.lehrveranstaltung_id, studiensemester_kurzbz).then(res => {
if (res.data) {
this.menu = res.data;
}
});
}
)
}
},
onModalHide:function(){
this.isMenuSelected = false;
}
},
mounted() {
this.modal = this.$refs.modalContainer.modal;
},
popup(options) {
return BsModal.popup.bind(this)(null, options);
},
template: /*html*/ `
<bs-modal ref="modalContainer" @showBsModal="onModalShow" @hideBsModal="onModalHide" v-bind="$props" :bodyClass="''" :dialogClass="{'modal-lg': !isMenuSelected, 'modal-fullscreen':isMenuSelected}" class="bootstrap-alert" backdrop="false" >
<template v-slot:title>
<template v-if="data.titel">{{ data.titel + ' - ' + data.lehrfach_bez + ' [' + data.ort_kurzbz+']'}}</template>
<template v-else>{{ data.lehrfach_bez + ' [' + data.ort_kurzbz+']'}}</template>
</template>
<template v-slot:default>
<template v-if="!isMenuSelected">
<div class="row">
<div class="col">
<h3>Lehrveranstaltungs Informationen</h3>
</div>
</div>
<div class="row">
<div class="offset-3 col-4"><span>Datum:</span></div>
<div class=" col"><span>{{data.datum}}</span></div>
</div>
<div class="row">
<div class="offset-3 col-4"><span>Raum:</span></div>
<div class=" col"><span>{{data.ort_kurzbz}}</span></div>
</div>
<div class="row">
<div class="offset-3 col-4"><span>LV:</span></div>
<div class=" col"><span>{{'('+data.lehrform+') ' + data.lehrfach_bez}}</span></div>
</div>
<div class="row">
<div class="offset-3 col-4"><span>Lektor:</span></div>
<div class=" col"><span>{{data.lektor.map(lektor=>lektor.kurzbz).join("/")}}</span></div>
</div>
<div class="row">
<div class="offset-3 col-4"><span>Zeitraum:</span></div>
<div class=" col"><span>{{start_time + ' - ' + end_time}}</span></div>
</div>
<hr class="my-5">
<div v-if="menu" class="row">
<div class="col">
<h3>Lehrveranstaltungs Menu</h3>
</div>
</div>
</template>
<lv-menu v-model:isMenuSelected="isMenuSelected" :menu="menu"></lv-menu>
</template>
<!-- optional footer -->
<template v-slot:footer >
<button class="btn btn-outline-secondary " @click="hide">{{$p.t('ui','cancel')}}</button>
</template>
<!-- end of optional footer -->
</bs-modal>`,
};
+66
View File
@@ -0,0 +1,66 @@
export default {
props:{
isMenuSelected:{
type:Boolean,
default:false,
},
menu:{
type:Array,
default:null,
},
},
data(){
return{
selectedMenu:null,
}
},
watch:{
isMenuSelected: function (newValue) {
// if no Menu point has been selected, show all Menu options
if (!newValue){
this.selectedMenu = null;
}
}
},
emits:["update:isMenuSelected"],
methods:{
selectMenu: function (menuItem, index = null) {
// early return if link is #
if (index != null && menuItem.c4_linkList[index][1] == '#') return;
switch (menuItem.id) {
case "core_menu_mailanstudierende": window.location.href = menuItem.c4_link; break;
default:
this.selectedMenu = { ...menuItem };
this.$emit("update:isMenuSelected", true);
}
if (this.selectedMenu && index != null && menuItem.c4_linkList[index][1] != '#') {
this.selectedMenu.c4_link = menuItem.c4_linkList[index][1];
this.selectedMenu.name += ' - ' + menuItem.c4_linkList[index][0];
}
},
},
template:/*html*/`
<div v-if="selectedMenu" class="d-flex flex-column h-100">
<div class="d-flex mb-2">
<button v-if="selectedMenu" @click="$emit('update:isMenuSelected', false)" class="btn btn-secondary me-2"><i class="fa fa-chevron-left"></i> Back</button>
<h2>{{selectedMenu.name}}</h2>
</div>
<iframe class="h-100 w-100" :src="selectedMenu.c4_link" :title="selectedMenu.name"></iframe>
</div>
<div v-else-if="!menu">No Menu available</div>
<div v-else :style="{'display':'grid', 'row-gap':'10px', 'column-gap':'10px', 'grid-template-columns':'repeat(3,minmax(100px,1fr))', 'grid-template-rows':'repeat('+Math.ceil(menu.length / 3)+',minmax(100px,1fr))'} ">
<div :title="menuItem.name" role="button" @click="selectMenu(menuItem)" class="lvUebersichtMenuPunkt border border-1 d-flex flex-column align-items-center justify-content-center p-1 text-center" v-for="(menuItem, index) in menu" :key="index">
<img :src="menuItem.c4_icon" :alt="menuItem.name" ></img>
<span @click="selectMenu(menuItem)" class="underline_hover mt-2">{{menuItem.name}}</span>
<span v-for="([text,link],index) in menuItem.c4_linkList" @click.stop="selectMenu(menuItem,index)" :class="{'underline_hover':menuItem.c4_linkList[index][1] != '#'}" class="mt-1" :index="index">{{text}}</span>
</div>
</div>
`
}
+8 -39
View File
@@ -1,5 +1,5 @@
import BsModal from "../../Bootstrap/Modal";
import LvMenu from "./LvMenu";
export default {
props:{
@@ -13,42 +13,26 @@ export default {
return {
result: false,
menu: [],
selectedMenu:null,
isMenuSelected:false,
}
},
mixins:[BsModal],
components:{
BsModal,
LvMenu,
},
methods:{
selectMenu: function(menuItem, index=null){
// early return if link is #
if(index != null && menuItem.c4_linkList[index][1] == '#') return;
switch(menuItem.id){
case "core_menu_mailanstudierende": window.location.href=menuItem.c4_link; break;
default:
this.selectedMenu= {...menuItem};
}
if( this.selectedMenu && index != null && menuItem.c4_linkList[index][1] !='#'){
this.selectedMenu.c4_link = menuItem.c4_linkList[index][1];
this.selectedMenu.name += ' - ' + menuItem.c4_linkList[index][0];
}
},
hiddenModal: function(){
this.selectedMenu = null;
this.isMenuSelected = false;
},
showModal: function(){
this.$fhcApi.factory.addons.getLvMenu(this.event.lehrveranstaltung_id, this.event.studiensemester_kurzbz).then(res =>{
//this.$fhcApi.factory.addons.getLvMenu(750, "WS2005").then(res =>{
if(res.data){
this.menu = res.data;
}
});
},
},
@@ -56,29 +40,14 @@ export default {
this.modal = this.$refs.modalContainer;
},
template:/*html*/`
<bs-modal :bodyClass="selectedMenu ? '' : 'px-4 py-5'" @showBsModal="showModal" @hiddenBsModal="hiddenModal" ref="modalContainer" :dialogClass="{'modal-lg': !selectedMenu, 'modal-fullscreen':selectedMenu}">
<bs-modal :bodyClass="isMenuSelected ? '' : 'px-4 py-5'" @showBsModal="showModal" @hiddenBsModal="hiddenModal" ref="modalContainer" :dialogClass="{'modal-lg': !isMenuSelected, 'modal-fullscreen':isMenuSelected}">
<template #title>
<span v-if="event?.lehrfach_bez ">{{event?.lehrfach_bez + (event?.stg_kurzbzlang?' / ' + event?.stg_kurzbzlang:'')}}</span>
<span v-else>Lehrveranstaltungs Übersicht</span>
</template>
<template #default>
<div v-if="selectedMenu" class="d-flex flex-column h-100">
<div class="d-flex mb-2">
<button v-if="selectedMenu" @click="selectedMenu=null" class="btn btn-secondary me-2"><i class="fa fa-chevron-left"></i> Back</button>
<h2>{{selectedMenu.name}}</h2>
</div>
<iframe class="h-100 w-100" :src="selectedMenu.c4_link" :title="selectedMenu.name"></iframe>
</div>
<div v-else-if="!menu">No Menu available</div>
<div v-else :style="{'display':'grid', 'row-gap':'10px', 'column-gap':'10px', 'grid-template-columns':'repeat(3,minmax(100px,1fr))', 'grid-template-rows':'repeat('+Math.ceil(menu.length / 3)+',minmax(100px,1fr))'} ">
<div :title="menuItem.name" role="button" @click="selectMenu(menuItem)" class="lvUebersichtMenuPunkt border border-1 d-flex flex-column align-items-center justify-content-center p-1 text-center" v-for="(menuItem, index) in menu" :key="index">
<img :src="menuItem.c4_icon" :alt="menuItem.name" ></img>
<span @click="selectMenu(menuItem)" class="underline_hover mt-2">{{menuItem.name}}</span>
<span v-for="([text,link],index) in menuItem.c4_linkList" @click.stop="selectMenu(menuItem,index)" :class="{'underline_hover':menuItem.c4_linkList[index][1] != '#'}" class="mt-1" :index="index">{{text}}</span>
</div>
</div>
<lv-menu v-model:isMenuSelected="isMenuSelected" :menu="menu"></lv-menu>
</template>
</bs-modal>
@@ -1,11 +1,13 @@
import BsModal from '../../../../../Bootstrap/Modal.js';
import Phrasen from '../../../../../../mixins/Phrasen.js';
import LvMenu from '../../../LvMenu.js';
const infos = {};
export default {
components: {
BsModal
BsModal,
LvMenu
},
mixins: [
BsModal,
@@ -35,7 +37,9 @@ export default {
},
data: () => ({
result: true,
info: null
info: null,
isMenuSelected: false,
menu: [],
}),
computed: {
lektorNames() {
@@ -76,112 +80,130 @@ export default {
}).catch(() => this.info = {});
}
},
methods:{
onModelHide() {
this.isMenuSelected = false;
},
onModalShow() {
this.$fhcApi.factory.addons.getLvMenu(this.lehrveranstaltung_id, this.studien_semester)
.then(res => {
this.menu = res.data;
})
.catch((error) => this.$fhcAlert.handleSystemError);
}
},
mounted() {
this.modal = this.$refs.modalContainer.modal;
},
popup(options) {
return BsModal.popup.bind(this)(null, options);
},
template: `<bs-modal ref="modalContainer" class="bootstrap-alert" v-bind="$props" body-class="" dialog-class="modal-lg">
template: /*html*/`
<bs-modal ref="modalContainer" @hideBsModal="onModelHide" @showBsModal="onModalShow" class="bootstrap-alert" v-bind="$props" body-class="" :dialogClass="{'modal-lg': !isMenuSelected, 'modal-fullscreen':isMenuSelected}">
<template v-slot:title>
{{p.t('lvinfo/lehrveranstaltungsinformationen')}}
</template>
<template v-slot:default>
<div v-if="!info" class="text-center">
<i class="fa-solid fa-spinner fa-pulse fa-3x"></i>
</div>
<table v-else class="table table-hover">
<tbody>
<tr>
<th>{{p.t('lehre/lehrveranstaltung')}}</th>
<td>{{bezeichnung}}</td>
</tr>
<tr>
<th>{{p.t('lehre/studiengang')}}</th>
<td>{{studiengang_kuerzel}}</td>
</tr>
<tr>
<th>{{p.t('lehre/semester')}}</th>
<td>{{semester}}</td>
</tr>
<tr>
<th>{{p.t('lehre/studiensemester')}}</th>
<td>{{studien_semester}}</td>
</tr>
<tr>
<th>{{p.t('lehre/organisationsform')}}</th>
<td>{{orgform_kurzbz}}</td>
</tr>
<tr>
<th>{{p.t('lehre/lehrbeauftragter')}}</th>
<td>
<ul v-if="lektorNames.length" class="list-unstyled mb-0">
<li v-for="name in lektorNames" :key="name">
<!-- TODO(chris): link? -->
{{name}}
</li>
</ul>
<template v-else>
{{p.t('lehre/keinLektorZugeordnet')}}
</template>
</td>
</tr>
<tr v-if="lvLeitung">
<th>{{p.t('lehre/lvleitung')}}</th>
<td>
<ul class="list-unstyled mb-0">
<li v-for="name in lvLeitung" :key="name">
<!-- TODO(chris): link? -->
{{name}}
</li>
</ul>
</td>
</tr>
<tr>
<th>{{p.t('global/sprache')}}</th>
<td>{{sprache}}</td>
</tr>
<tr>
<th>{{p.t('lehre/ects')}}</th>
<td>{{ects}}</td>
</tr>
<tr>
<th>{{p.t('lehre/incomingplaetze')}}</th>
<td>{{incoming}}</td>
</tr>
<tr>
<th>{{p.t('lehre/organisationseinheit')}}</th>
<td>
{{oe}} <br>
(
<i>{{p.t('global/leitung')}}: </i>{{oeLeitung.join(', ')}}
<template v-if="koordinator">
<i>{{p.t('global/koordination')}}: </i>{{koordinator.join(', ')}}
</template>
)
</td>
</tr>
</tbody>
</table>
<div v-if="info && info.lvinfo">
<div v-if="Object.keys(info.lvinfo).length > 1" class="text-end">
<div class="btn-group" role="group" :title="p.t('global/verfuegbareSprachen')" :aria-label="p.t('global/verfuegbareSprachen')">
<template v-for="lang in info.sprachen" :key="lang.index">
<button v-if="info.lvinfo[lang.sprache]" type="button" class="btn btn-outline-primary" :class="lang.sprache == currentLang ? 'active' : ''" @click.prevent="info.lastLang = lang.sprache">{{lang.bezeichnung[lang.index-1]}}</button>
</template>
</div>
<template v-if="!isMenuSelected">
<div v-if="!info" class="text-center">
<i class="fa-solid fa-spinner fa-pulse fa-3x"></i>
</div>
<template v-for="i in info.lvinfo[currentLang]" :key="info">
<h4>{{i.header}}</h4>
<h6 v-if="i.subheader">{{i.subheader}}</h6>
<ul v-if="Array.isArray(i.body)">
<li v-for="e in i.body" :key="e">{{e}}</li>
</ul>
<p v-else>
{{i.body}}
</p>
</template>
</div>
<table v-else class="table table-hover">
<tbody>
<tr>
<th>{{p.t('lehre/lehrveranstaltung')}}</th>
<td>{{bezeichnung}}</td>
</tr>
<tr>
<th>{{p.t('lehre/studiengang')}}</th>
<td>{{studiengang_kuerzel}}</td>
</tr>
<tr>
<th>{{p.t('lehre/semester')}}</th>
<td>{{semester}}</td>
</tr>
<tr>
<th>{{p.t('lehre/studiensemester')}}</th>
<td>{{studien_semester}}</td>
</tr>
<tr>
<th>{{p.t('lehre/organisationsform')}}</th>
<td>{{orgform_kurzbz}}</td>
</tr>
<tr>
<th>{{p.t('lehre/lehrbeauftragter')}}</th>
<td>
<ul v-if="lektorNames.length" class="list-unstyled mb-0">
<li v-for="name in lektorNames" :key="name">
<!-- TODO(chris): link? -->
{{name}}
</li>
</ul>
<template v-else>
{{p.t('lehre/keinLektorZugeordnet')}}
</template>
</td>
</tr>
<tr v-if="lvLeitung">
<th>{{p.t('lehre/lvleitung')}}</th>
<td>
<ul class="list-unstyled mb-0">
<li v-for="name in lvLeitung" :key="name">
<!-- TODO(chris): link? -->
{{name}}
</li>
</ul>
</td>
</tr>
<tr>
<th>{{p.t('global/sprache')}}</th>
<td>{{sprache}}</td>
</tr>
<tr>
<th>{{p.t('lehre/ects')}}</th>
<td>{{ects}}</td>
</tr>
<tr>
<th>{{p.t('lehre/incomingplaetze')}}</th>
<td>{{incoming}}</td>
</tr>
<tr>
<th>{{p.t('lehre/organisationseinheit')}}</th>
<td>
{{oe}} <br>
(
<i>{{p.t('global/leitung')}}: </i>{{oeLeitung.join(', ')}}
<template v-if="koordinator">
<i>{{p.t('global/koordination')}}: </i>{{koordinator.join(', ')}}
</template>
)
</td>
</tr>
</tbody>
</table>
</template>
<lv-menu v-model:isMenuSelected="isMenuSelected" :menu="menu"></lv-menu>
<template v-if="!isMenuSelected">
<div v-if="info && info.lvinfo">
<div v-if="Object.keys(info.lvinfo).length > 1" class="text-end">
<div class="btn-group" role="group" :title="p.t('global/verfuegbareSprachen')" :aria-label="p.t('global/verfuegbareSprachen')">
<template v-for="lang in info.sprachen" :key="lang.index">
<button v-if="info.lvinfo[lang.sprache]" type="button" class="btn btn-outline-primary" :class="lang.sprache == currentLang ? 'active' : ''" @click.prevent="info.lastLang = lang.sprache">{{lang.bezeichnung[lang.index-1]}}</button>
</template>
</div>
</div>
<template v-for="i in info.lvinfo[currentLang]" :key="info">
<h4>{{i.header}}</h4>
<h6 v-if="i.subheader">{{i.subheader}}</h6>
<ul v-if="Array.isArray(i.body)">
<li v-for="e in i.body" :key="e">{{e}}</li>
</ul>
<p v-else>
{{i.body}}
</p>
</template>
</div>
</template>
</template>
</bs-modal>`
}
@@ -46,7 +46,6 @@ export default {
let withFiles = false;
if (view === "TextInputDokument") {
console.log("text input")
data = {
titel: updateRequest.topic,
value: updateRequest.requested_change.value,
@@ -127,10 +127,6 @@ export default {
"acceptUpdate"
)}`,
action: (e, column) => {
console.log(
"this is the data of the context menu action",
column.getData()
);
this.$fhcApi.factory.profilUpdate.acceptProfilRequest(column.getData())
.then((res) => {
this.$refs.UpdatesTable.tabulator.setData();
-1
View File
@@ -73,7 +73,6 @@ export default {
},
created() {
axios.get(this.apiurl + '/Dashboard').then(res => {
//console.log(res.data.retval);
this.dashboards = res.data.retval;
}).catch(err => console.error('ERROR:', err));
},
@@ -144,7 +144,6 @@ export default {
},
created() {
axios.get(this.apiurl + '/Config/funktionen').then(res => {
//console.log(res.data.retval);
this.funktionen = {general: 'GENERAL'};
res.data.retval.forEach(funktion => {
this.funktionen[funktion.funktion_kurzbz] = funktion.beschreibung;
@@ -25,7 +25,6 @@ export default {
axios.get(this.apiurl + '/Widget/getWidgetsForDashboard', {params:{
db: this.dashboard
}}).then(res => {
//console.log(res.data.retval);
res.data.retval.forEach(widget => {
widget.arguments = JSON.parse(widget.arguments);
widget.setup = JSON.parse(widget.setup);
@@ -123,7 +122,6 @@ export default {
axios.get(this.apiurl + '/Config', {params:{
db: this.dashboard
}}).then(res => {
//console.log(res.data.retval);
for (var name in res.data.retval.widgets) {
let widgets = [];
let remove = [];
@@ -18,7 +18,7 @@ export default {
},
methods: {
newPageEvent: function (data) {
//console.log("hier", data.page);
},
},
mounted() {},
@@ -99,7 +99,7 @@ export default {
this.suggestions = [];
this.$refs.form.clearValidation();
},
loadSuggestions() {console.log('loadSuggestions');
loadSuggestions() {
if (this.abortController.suggestions)
this.abortController.suggestions.abort();
if (this.person !== null)
@@ -79,23 +79,12 @@ export default {
watch:{
'searchsettings.types'(newValue){
this.search();
},
},
beforeMount: function() {
this.updateSearchOptions();
},
mounted(){
window.addEventListener('resize', (event) =>{
console.log(this.$refs.settings,"this is the refs of the settings")
this.$refs.settings.hide();
console.log("resizing")
});
//console.log(this.$refs.settings.show,"this are the refs")
},
methods: {
getActionsForRoom: function(res){
res.booklink= FHC_JS_DATA_STORAGE_OBJECT.app_root +
@@ -132,7 +121,6 @@ export default {
},
calcSearchResultExtent: function() {
var rect = this.$refs.searchbox.getBoundingClientRect();
//console.log(window.innerWidth + ' ' + window.innerHeight + ' ' + JSON.stringify(rect));
this.$refs.result.style.top = Math.floor(rect.bottom + 3) + 'px';
this.$refs.result.style.right = Math.floor(window.innerWidth - rect.right) + 'px';
this.$refs.result.style.width = Math.floor(window.innerWidth * 0.75) + 'px';
@@ -307,7 +307,6 @@ $(function(){
{
successCallback: function (data, textStatus, jqXHR)
{
console.log(data);
if (data.error && data.retval != null)
{
// Print error message