summaryrefslogtreecommitdiff
path: root/frontend/js
diff options
context:
space:
mode:
authorIgor Scheller <igor.scheller@igorshp.de>2018-09-10 17:22:05 +0200
committerIgor Scheller <igor.scheller@igorshp.de>2018-09-10 18:22:48 +0200
commitc1a1180d1f43a430b38450cb0b64bcd74487b4ae (patch)
treed2e532f8f7f3233517dd1ad8de5cb1b7e1ccc5ad /frontend/js
parent4bf3a68f43e4fcea34fe0a16cb3e1eecb97d332a (diff)
Moved frontend, templates and lang to resources
Diffstat (limited to 'frontend/js')
-rw-r--r--frontend/js/forms.js94
-rw-r--r--frontend/js/moment-countdown.js19
-rw-r--r--frontend/js/sticky-headers.js31
-rw-r--r--frontend/js/vendor.js16
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'));
-});