diff --git a/includes/sys_form.php b/includes/sys_form.php
index 7b21f1c4..9be7173a 100644
--- a/includes/sys_form.php
+++ b/includes/sys_form.php
@@ -68,7 +68,7 @@ function form_date($name, $label, $value, $start_date = '', $end_date = '')
$end_date = is_numeric($end_date) ? date('Y-m-d', $end_date) : '';
return form_element($label, '
-
+
'
. '' . icon('grid-3x3-gap-fill') . '
diff --git a/includes/view/ShiftCalendarRenderer.php b/includes/view/ShiftCalendarRenderer.php
index 3f7616d1..27a82433 100644
--- a/includes/view/ShiftCalendarRenderer.php
+++ b/includes/view/ShiftCalendarRenderer.php
@@ -204,10 +204,7 @@ class ShiftCalendarRenderer
$rendered_until += ShiftCalendarRenderer::SECONDS_PER_ROW;
}
- $bg = '';
- if (theme_type() === 'light') {
- $bg = 'bg-light';
- }
+ $bg = 'bg-' . theme_type();
return div('lane', [
div('header ' . $bg, $lane->getHeader()),
diff --git a/resources/assets/js/forms.js b/resources/assets/js/forms.js
index 204a0fe9..3d64509a 100644
--- a/resources/assets/js/forms.js
+++ b/resources/assets/js/forms.js
@@ -98,8 +98,16 @@ $(function () {
*/
$(function () {
$([
- {'select': $('.input-group.date'), 'format': 'YYYY-MM-DD'},
- {'select': $('.input-group.datetime'), 'format': 'YYYY-MM-DD HH:mm'},
+ {
+ 'select': $('.input-group.date'),
+ 'format': 'YYYY-MM-DD',
+ 'extraFormats': []
+ },
+ {
+ 'select': $('.input-group.datetime'),
+ 'format': 'YYYY-MM-DD HH:mm',
+ 'extraFormats': ['YYYY-MM-DDTHH:mm']
+ },
]).each(function (_, element) {
element.select.each(function () {
var elem = $(this);
@@ -108,6 +116,7 @@ $(function () {
maxDate: '',
locale: $('html').attr('lang'),
format: element.format,
+ extraFormats: element.extraFormats,
widgetPositioning: {horizontal: 'auto', vertical: 'bottom'},
icons: {
time: 'bi bi-clock',
@@ -116,29 +125,29 @@ $(function () {
down: 'bi bi-arrow-down'
}
};
+
$.extend(opts, elem.data());
+
if (opts.minDate.length === 0) {
delete opts.minDate;
}
+
if (opts.maxDate.length === 0) {
delete opts.maxDate;
}
+
elem.children('input').attr('type', 'text');
- elem.children().on('click', function (ev) {
+ elem.datetimepicker(opts);
+
+ // close on click anywhere outside
+ $(document).on('click', () => {
+ elem.data('datetimepicker').hide()
+ })
+
+ elem.children().on('click', (ev) => {
ev.stopImmediatePropagation();
- if (typeof elem.data('datetimepicker') === 'undefined') {
- elem.datetimepicker(opts);
- elem.data('datetimepicker').show();
-
- // close on click anywhere outside
- $(document).on('click', () => {
- elem.data('datetimepicker').hide()
- })
- } else {
- elem.data('datetimepicker').toggle();
- }
+ elem.data('datetimepicker').toggle();
});
-
});
});
});
diff --git a/resources/assets/js/sticky-headers.js b/resources/assets/js/sticky-headers.js
index c664387c..a8e139af 100644
--- a/resources/assets/js/sticky-headers.js
+++ b/resources/assets/js/sticky-headers.js
@@ -23,6 +23,7 @@ $(document).ready(function () {
});
headers.css({
'top': Math.max(0, $(window).scrollTop() - top
+ - 13
+ topReference.offset().top)
+ 'px'
});
diff --git a/resources/assets/themes/base.scss b/resources/assets/themes/base.scss
index 5ddb42ec..b68113d2 100644
--- a/resources/assets/themes/base.scss
+++ b/resources/assets/themes/base.scss
@@ -106,6 +106,7 @@ table a > .icon-icon_angel {
margin-bottom: 0;
}
+.input-group.date,
.input-group.datetime,
.input-group.time {
.bootstrap-datetimepicker-widget {
diff --git a/resources/views/layouts/maintenance.html b/resources/views/layouts/maintenance.html
index c0b52b44..c2473b70 100644
--- a/resources/views/layouts/maintenance.html
+++ b/resources/views/layouts/maintenance.html
@@ -8,59 +8,43 @@
-
+
-
-
-
-
-
-
-
-
-
-
- The %APP_NAME% is in maintenance mode.
-
-
This may be due to...
-
- ...archangels closing the gates of heaven.
- ...somebody's stolen the power chord and now the battery is empty.
- ...DHCP decided to give me another ip address.
-
-
-
- VIDEO
-
+
+
+
+
+
+
+
+
+
+ The %APP_NAME% is in maintenance mode.
+
+
This may be due to...
+
+ ...archangels closing the gates of heaven.
+ ...somebody's stolen the power chord and now the battery is empty.
+ ...DHCP decided to give me another ip address.
+
+
+
+ VIDEO