Compare commits

...

4 Commits

Author SHA1 Message Date
adisposkofh 956b201757 minor fix 2026-04-21 11:25:48 +02:00
adisposkofh e5015f348b reworked roomsearch inputs spacing 2026-04-20 17:07:49 +02:00
adisposkofh 6792002c19 added spacing between room search inputs, mostly visible in mobile 2026-04-20 17:03:05 +02:00
adisposkofh 9890f6aade fixed issue: context menu appearing on vue datepicker single click in mobile 2026-04-20 16:58:43 +02:00
3 changed files with 44 additions and 30 deletions
+12
View File
@@ -136,6 +136,18 @@ const app = Vue.createApp({
}
};
},
computed: {
isMobile() {
const smallScreen = window.matchMedia("(max-width: 767px)").matches;
const touchCapable = ("ontouchstart" in window) || navigator.maxTouchPoints > 0;
return smallScreen;// && touchCapable;
},
},
provide() {
return {
isMobile: this.isMobile
}
},
methods: {
searchfunction: function(searchsettings) {
return this.$api.call(ApiSearchbar.searchCis(searchsettings));
+2 -2
View File
@@ -238,13 +238,13 @@ const app = Vue.createApp({
const smallScreen = window.matchMedia("(max-width: 767px)").matches;
const touchCapable = ("ontouchstart" in window) || navigator.maxTouchPoints > 0;
return smallScreen;// && touchCapable;
}
},
},
provide() {
return { // provide injectable & watchable language property
language: Vue.computed(() => this.$p.user_language),
renderers: Vue.computed(() => this.renderers),
isMobile: this.isMobile
isMobile: this.isMobile,
}
},
methods: {
+30 -28
View File
@@ -3,14 +3,12 @@ import VueDatePicker from '../../vueDatepicker.js.php';
import ApiOrt from '../../../api/factory/ort.js'
export const Raumsuche = {
name: "Raumsuche",
props: {
},
components: {
VueDatePicker,
CoreFilterCmpt,
InputNumber: primevue.inputnumber,
},
inject: ["isMobile"],
data() {
return {
phrasenPromise: null,
@@ -73,6 +71,11 @@ export const Raumsuche = {
}
]};
},
computed: {
isDarkMode(){
return this.$theme.theme_name.value == 'dark';
}
},
methods: {
tableResolve(resolve) {
this.tableBuiltResolve = resolve
@@ -178,11 +181,6 @@ export const Raumsuche = {
}
},
computed: {
isDarkMode(){
return this.$theme.theme_name.value == 'dark';
}
},
created() {
this.phrasenPromise = this.$p.loadCategory(['rauminfo', 'global'])
this.phrasenPromise.then(()=> {this.phrasenResolved = true})
@@ -194,46 +192,50 @@ export const Raumsuche = {
<h1 class="h3">{{$p.t('rauminfo/roomSearch')}}</h1>
<hr>
<div class="row">
<div class="col-12 col-lg-2">
<div :class="{'pb-1': isMobile}" class="col-12 col-lg-2">
<VueDatePicker
:dark="isDarkMode"
@contextmenu="(e) => {if (isMobile) {e.preventDefault();}}"
v-model="datum"
:dark="isDarkMode"
:clearable="false"
date-picker
:enable-time-picker="false"
:format="dateFormat"
:text-input="datepickerTextInputOptions"
:min-date="new Date()"
auto-apply>
</VueDatePicker>
</div>
<div class="col-12 col-lg-1">
<VueDatePicker
:dark="isDarkMode"
v-model="von"
:clearable="false"
time-picker
:format="timeFormat"
:text-input="timepickerTextInputOptions"
:is-24="true"
date-picker
auto-apply
>
</VueDatePicker>
</div>
<div class="col-12 col-lg-1">
<div :class="{'pb-1': isMobile}" class="col-12 col-lg-1">
<VueDatePicker
@contextmenu="(e) => {if (isMobile) {e.preventDefault();}}"
v-model="von"
:dark="isDarkMode"
v-model="bis"
:clearable="false"
time-picker
:format="timeFormat"
:text-input="timepickerTextInputOptions"
:is-24="true"
time-picker
auto-apply
>
</VueDatePicker>
</div>
<div :class="{'pb-1': isMobile}" class="col-12 col-lg-1">
<VueDatePicker
@contextmenu="(e) => {if (isMobile) {e.preventDefault();}}"
v-model="bis"
:dark="isDarkMode"
:clearable="false"
:format="timeFormat"
:text-input="timepickerTextInputOptions"
:is-24="true"
time-picker
auto-apply>
</VueDatePicker>
</div>
<div class="col-12 col-lg-3">
<div :class="{'pb-1': isMobile}" class="col-12 col-lg-3">
<select ref="raumtyp" id="raumtypSelect" v-model="selectedType" class="form-select"
:aria-label="$p.t('global/studiensemester_auswaehlen')" @change="setRoute($event.target.value)">
<option :key="defaultType" selected :value="defaultType">{{defaultType.beschreibung}}</option>
@@ -242,7 +244,7 @@ export const Raumsuche = {
</div>
<div class="col-12 col-lg-3">
<div :class="{'pb-2': isMobile}" class="col-12 col-lg-3">
<InputNumber v-model="anzahl"
:prefix="$p.t('rauminfo/minCapacity') + ': '"
inputId="anzahlInput" :min="1" :max="1000"