mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-18 12:39:29 +00:00
changes the layout of the Stundenplan Events
This commit is contained in:
@@ -90,7 +90,7 @@ class Stundenplan extends FHCAPI_Controller
|
||||
|
||||
$stunden = getData($stunden);
|
||||
|
||||
$result = $this->StundenplanModel->groupedRoomPlanning($ort_kurzbz,$start_date,$end_date);
|
||||
$result = $this->StundenplanModel->groupedCalendarEvents($ort_kurzbz,$start_date,$end_date);
|
||||
//$this->loglib->logErrorDB(print_r($result,TRUE),"this is the result of the grouped query");
|
||||
|
||||
if(isError($result)){
|
||||
@@ -105,6 +105,8 @@ class Stundenplan extends FHCAPI_Controller
|
||||
// gruppierung hat stattgefunden und das array muss in einem String konvertiert werden
|
||||
}
|
||||
}
|
||||
|
||||
// this is the old way the events were grouped, kept in case that the query doesnt work out as expected
|
||||
/*
|
||||
$final_events = array();
|
||||
$grouped = array();
|
||||
|
||||
@@ -48,10 +48,10 @@ class Stundenplan_model extends DB_Model
|
||||
*
|
||||
* @return stdClass
|
||||
*/
|
||||
public function groupedRoomPlanning($ort_kurzbz,$start_date,$end_date){
|
||||
public function groupedCalendarEvents($ort_kurzbz,$start_date,$end_date){
|
||||
|
||||
|
||||
$gruppierteRaumVerplannung= $this->execReadOnlyQuery("
|
||||
$gruppierteEvents= $this->execReadOnlyQuery("
|
||||
SELECT
|
||||
|
||||
'reservierung' as type,
|
||||
@@ -130,7 +130,7 @@ class Stundenplan_model extends DB_Model
|
||||
ORDER BY datum, stunde
|
||||
", [$ort_kurzbz, $start_date, $end_date, $ort_kurzbz, $start_date, $end_date]);
|
||||
|
||||
return $gruppierteRaumVerplannung;
|
||||
return $gruppierteEvents;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -9,9 +9,7 @@ $this->load->view('templates/CISHTML-Header', $includesArray);
|
||||
?>
|
||||
|
||||
<div id="content">
|
||||
<h2>Stundenplan</h2>
|
||||
<hr>
|
||||
<fhc-calendar :events="events" initial-mode="week" show-weeks></fhc-calendar>
|
||||
|
||||
</div>
|
||||
|
||||
<?php $this->load->view('templates/CISHTML-Footer', $includesArray); ?>
|
||||
|
||||
@@ -99,7 +99,7 @@ const app = Vue.createApp({
|
||||
<fhc-calendar v-slot="{event,day}" :initialDate="currentDate" :events="events" initial-mode="week" show-weeks>
|
||||
|
||||
<a class="text-decoration-none text-dark" href="#" :title="event.orig.title + ' - ' + event.orig.lehrfach_bez + ' [' + event.orig.ort_kurzbz+']'" >
|
||||
<div class="d-flex flex-column align-items-center justify-content-evenly h-100" :style="{'background-color':event.orig.color}">
|
||||
<div class="d-flex flex-column align-items-center justify-content-evenly h-100" >
|
||||
|
||||
<!-- render content for stundenplan -->
|
||||
<span >{{event.orig.topic}}</span>
|
||||
|
||||
@@ -48,7 +48,18 @@ const app = Vue.createApp({
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
},
|
||||
template:/*html*/`
|
||||
<h2>Stundenplan</h2>
|
||||
<hr>
|
||||
<fhc-calendar v-slot="{event, day}" :events="events" initial-mode="week" show-weeks>
|
||||
<div class="d-flex flex-column align-items-center justify-content-evenly h-100">
|
||||
<span>{{event.orig.title}}</span>
|
||||
<span>{{event.orig.ort_kurzbz}}</span>
|
||||
<span>{{event.orig.mitarbeiter_kurzbz}}</span>
|
||||
</div>
|
||||
</fhc-calendar>
|
||||
`
|
||||
});
|
||||
app.config.unwrapInjectedRef = true;
|
||||
app.use(Phrasen);
|
||||
|
||||
@@ -108,7 +108,7 @@ export default {
|
||||
<div v-for="hour in hours" style="min-height:100px" :key="hour" class="text-muted text-end small" :ref="'hour' + hour">{{hour}}:00</div>
|
||||
</div>
|
||||
<div v-for="day in eventsPerDayAndHour" :key="day" class="day border-start" :style="{'grid-template-columns': 'repeat(' + day.lanes + ', 1fr)', 'grid-template-rows': 'repeat(' + (1440 / smallestTimeFrame) + ', 1fr)'}">
|
||||
<div class="mx-2 border border-dark border-2 small rounded overflow-hidden " @click.prevent="$emit('input', event.orig)" :style="{'grid-column-start': 1+(event.lane-1)*day.lanes/event.maxLane, 'grid-column-end': 1+event.lane*day.lanes/event.maxLane, 'grid-row-start': dateToMinutesOfDay(event.start), 'grid-row-end': dateToMinutesOfDay(event.end) ,'--test': dateToMinutesOfDay(event.end)}" v-for="event in day.events" :key="event">
|
||||
<div :style="{'background-color':event.orig.color}" class="mx-2 border border-dark border-2 small rounded overflow-hidden " @click.prevent="$emit('input', event.orig)" :style="{'grid-column-start': 1+(event.lane-1)*day.lanes/event.maxLane, 'grid-column-end': 1+event.lane*day.lanes/event.maxLane, 'grid-row-start': dateToMinutesOfDay(event.start), 'grid-row-end': dateToMinutesOfDay(event.end) ,'--test': dateToMinutesOfDay(event.end)}" v-for="event in day.events" :key="event">
|
||||
<slot :event="event" :day="day">
|
||||
<p>this is a placeholder which means that no template was passed to the Calendar Page slot</p>
|
||||
</slot>
|
||||
|
||||
Reference in New Issue
Block a user