diff options
Diffstat (limited to 'frontend/js')
-rw-r--r-- | frontend/js/forms.js | 94 | ||||
-rw-r--r-- | frontend/js/moment-countdown.js | 19 | ||||
-rw-r--r-- | frontend/js/sticky-headers.js | 31 | ||||
-rw-r--r-- | frontend/js/vendor.js | 16 |
4 files changed, 0 insertions, 160 deletions
diff --git a/frontend/js/forms.js b/frontend/js/forms.js deleted file mode 100644 index 13e42d26..00000000 --- a/frontend/js/forms.js +++ /dev/null @@ -1,94 +0,0 @@ -/** - * Sets all checkboxes to the wanted state - * - * @param {string} id Id of the element containing all the checkboxes - * @param {boolean} checked True if the checkboxes should be checked - */ -global.checkAll = (id, checked) => { - $('#' + id + ' input[type="checkbox"]').each(function () { - this.checked = checked; - }); -}; - -/** - * Sets the checkboxes according to the given type - * - * @param {string} id The elements ID - * @param {list} shifts_list A list of numbers - */ -global.checkOwnTypes = (id, shiftsList) => { - $('#' + id + ' input[type="checkbox"]').each(function () { - this.checked = $.inArray(parseInt(this.value), shiftsList) != -1; - }); -}; - -/** - * @param {moment} date - */ -global.formatDay = (date) => { - return date.format('YYYY-MM-DD'); -}; - -/** - * @param {moment} date - */ -global.formatTime = (date) => { - return date.format('HH:mm'); -}; - -/** - * @param {moment} from - * @param {moment} to - */ -global.setInput = (from, to) => { - var fromDay = $('#start_day'), fromTime = $('#start_time'), toDay = $('#end_day'), toTime = $('#end_time'); - - fromDay.val(formatDay(from)); - fromTime.val(formatTime(from)); - - toDay.val(formatDay(to)); - toTime.val(formatTime(to)); -}; - -global.setDay = (days) => { - days = days || 0; - - var from = moment(); - from.hours(0).minutes(0).seconds(0); - - from.add(days, 'd'); - - var to = from.clone(); - to.hours(23).minutes(59); - - setInput(from, to); -}; - -global.setHours = (hours) => { - hours = hours || 1; - - var from = moment(); - var to = from.clone(); - - to.add(hours, 'h'); - if (to < from) { - setInput(to, from); - return; - } - - setInput(from, to); -}; - -$(function () { - /** - * Disable every submit button after clicking (to prevent double-clicking) - */ - $('form').submit(function (ev) { - $('input[type="submit"]').prop('readonly', true).addClass('disabled'); - return true; - }); - - $('.dropdown-menu').css('max-height', function () { - return ($(window).height() - 50) + 'px'; - }).css('overflow-y', 'scroll'); -}); diff --git a/frontend/js/moment-countdown.js b/frontend/js/moment-countdown.js deleted file mode 100644 index f5effbc0..00000000 --- a/frontend/js/moment-countdown.js +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Initialize all moment countdowns on the page. A moment countdown has the - * class 'moment-countdown' and the attribute 'data-timestamp' which defines the - * countdown's time goal. - */ -$(document).ready(function () { - if (typeof moment !== 'undefined') { - $.each($('.moment-countdown'), function (i, e) { - var span = $(e); - var text = span.html(); - /* global moment */ - var timestamp = moment(parseInt(span.attr('data-timestamp') * 1000)); - span.html(text.replace('%c', timestamp.fromNow())); - setInterval(function () { - span.html(text.replace('%c', timestamp.fromNow())); - }, 1000); - }); - } -}); diff --git a/frontend/js/sticky-headers.js b/frontend/js/sticky-headers.js deleted file mode 100644 index c664387c..00000000 --- a/frontend/js/sticky-headers.js +++ /dev/null @@ -1,31 +0,0 @@ -/** - * Enables the fixed headers and time lane for the shift-calendar and datatables - */ -$(document).ready(function () { - if ($('.shift-calendar').length) { - var timeLanes = $('.shift-calendar .time'); - var headers = $('.shift-calendar .header'); - var topReference = $('.container-fluid .row'); - timeLanes.css({ - 'position': 'relative', - 'z-index': 999 - }); - headers.css({ - 'position': 'relative', - 'z-index': 900 - }); - $(window).scroll( - function () { - var top = headers.parent().offset().top; - var left = 15; - timeLanes.css({ - 'left': Math.max(0, $(window).scrollLeft() - left) + 'px' - }); - headers.css({ - 'top': Math.max(0, $(window).scrollTop() - top - + topReference.offset().top) - + 'px' - }); - }); - } -}); diff --git a/frontend/js/vendor.js b/frontend/js/vendor.js deleted file mode 100644 index dd6b66b3..00000000 --- a/frontend/js/vendor.js +++ /dev/null @@ -1,16 +0,0 @@ -window.$ = window.jQuery = require('jquery'); -require('imports-loader?define=>false!jquery-ui'); -require('bootstrap'); -require('imports-loader?define=>false&exports=>false!bootstrap-datepicker'); -require('bootstrap-datepicker/js/locales/bootstrap-datepicker.de'); -require('bootstrap-datepicker/dist/css/bootstrap-datepicker3.min.css'); -require('imports-loader?this=>window!chart.js'); -require('imports-loader?this=>window&define=>false&exports=>false!moment'); -require('imports-loader?this=>window&define=>false&exports=>false!moment/locale/de'); -require('./forms'); -require('./sticky-headers'); -require('./moment-countdown'); - -$(function () { - moment.locale($('html').attr('lang')); -}); |