Changeset:
3c54790d1ca3
https://sourceforge.net/p/mrbs/hg-code/ci/3c54790d1ca3c1c55fa8d279a4cf59169c309496
Author:
Campbell Morrison <[email protected]>
Date:
Mon Apr 03 18:47:38 2017 +0100
Log message:
Added a basic time grid - no labels yet.
diffstat:
web/css/mrbs.css.php | 26 ++++++++++++++++++++++----
web/index.php | 44 +++++++++++++++++++++++++++++++++++---------
2 files changed, 57 insertions(+), 13 deletions(-)
diffs (142 lines):
diff -r ea8fb568b958 -r 3c54790d1ca3 web/css/mrbs.css.php
--- a/web/css/mrbs.css.php Mon Apr 03 17:17:38 2017 +0100
+++ b/web/css/mrbs.css.php Mon Apr 03 18:47:38 2017 +0100
@@ -1437,7 +1437,7 @@
padding: 0;
}
-.main_view_data {
+.main_view_data, .grid {
width: 100%;
table-layout: fixed;
}
@@ -1461,6 +1461,7 @@
.main_view a, .main_view .grid span {
display: block;
width: 100%;
+ box-sizing: border-box;
white-space: nowrap;
padding: 0.1em 0.2em;
}
@@ -1472,7 +1473,6 @@
?>
.main_view_data a {
border-right: 1px solid <?php echo $body_background_color ?>;
- box-sizing: border-box;
}
.main_view_data td:last-child a,
@@ -1492,10 +1492,28 @@
position: absolute;
top: 0;
left: 0;
- width: 100%;
- border: 1px solid red;
}
.main_view .grid td {
border-top-color: transparent;
}
+
+.grid span {
+ border-left: 1px dotted #788d9c;
+}
+
+.week .grid span,
+.month .grid span {
+ border-left-width: 0;
+}
+
+.grid .first_slot_of_day span {
+ border-left: 1px dotted #788d9c;
+}
+
+.grid td:first-child span {
+ border-left-width: 0;
+}
+
+
+
diff -r ea8fb568b958 -r 3c54790d1ca3 web/index.php
--- a/web/index.php Mon Apr 03 17:17:38 2017 +0100
+++ b/web/index.php Mon Apr 03 18:47:38 2017 +0100
@@ -297,21 +297,47 @@
}
-function get_grid($map)
+function get_grid($area, $interval)
{
$html = '';
$html .= "<table class=\"grid\">\n";
- $slots = array_keys(current($map));
- $n_rooms = count($map);
+ // First get all the slots in this interval
+ $date = new DateTime();
+ $date->setTimestamp($interval['start']);
+
+ $days = array();
+
+ do {
+ $j = $date->format('j'); // day, no leading zero
+ $n = $date->format('n'); // month, no leading zero
+ $Y = $date->format('Y'); // year, four digits
+
+ $days[] = get_slot_starts($n, $j, $Y);
+ $date->modify('+1 day');
+ } while (get_end_last_slot($n, $j, $Y) < $interval['end']);
+ // Get the number of rooms
+ $rooms = get_rooms($area);
+ $n_rooms = count($rooms);
+
for ($i=0; $i<$n_rooms; $i++)
{
$html .= "<tr>\n";
- foreach ($slots as $slot)
+ foreach ($days as $day)
{
- $html .= "<td><span> </span></td>\n";
+ $first_slot = true;
+ foreach ($day as $slot)
+ {
+ $html .= "<td";
+ if ($first_slot)
+ {
+ $html .= " class=\"first_slot_of_day\"";
+ $first_slot = false;
+ }
+ $html .= "><span> </span></td>\n";
+ }
}
$html .= "</tr>\n";
}
@@ -322,16 +348,16 @@
}
-function get_table($map)
+function get_table($map, $area, $interval, $view)
{
$html = '';
// We use nested tables so that we can get set the column width exactly for
// the main data.
- $html .= "<table class=\"main_view\">\n";
+ $html .= "<table class=\"main_view $view\">\n";
$html .= "<tr>\n";
$html .= "<td>" . get_row_labels_table($map) . "</td>\n";
- $html .= "<td class=\"data\">" . get_row_data_table($map) . get_grid($map) .
" </td>\n";
+ $html .= "<td class=\"data\">" . get_row_data_table($map) . get_grid($area,
$interval) . " </td>\n";
$html .= "</tr>\n";
$html .= "</table>\n";
@@ -364,5 +390,5 @@
}
echo "</div>\n";
-echo get_table($map);
+echo get_table($map, $area, $interval, $view);
output_trailer();
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Mrbs-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mrbs-commits