From 0b45d2a88febf2aac299fe504bb68b2fafcef068 Mon Sep 17 00:00:00 2001 From: Igor Scheller Date: Wed, 29 Nov 2017 13:23:38 +0100 Subject: #366 Feature: Time Interval Buttons (on Shifts page), closes #366 --- public/js/forms.js | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) (limited to 'public/js/forms.js') diff --git a/public/js/forms.js b/public/js/forms.js index c4eb68df..d75a4391 100644 --- a/public/js/forms.js +++ b/public/js/forms.js @@ -17,6 +17,63 @@ function checkAll(id, checked) { } } +/** + * @param {moment} date + */ +function formatDay(date) { + return date.format('YYYY-MM-DD') +} + +/** + * @param {moment} date + */ +function formatTime(date) { + return date.format('HH:mm') +} + +/** + * @param {moment} from + * @param {moment} to + */ +function setInput(from, to) { + var from_day = $('#start_day'), from_time = $('#start_time'), to_day = $('#end_day'), to_time = $('#end_time'); + + from_day.val(formatDay(from)); + from_time.val(formatTime(from)); + + to_day.val(formatDay(to)); + to_time.val(formatTime(to)); +} + +function 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) +} + +function 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) -- cgit v1.2.3-54-g00ecf