diff --git a/public/viewjs/components/datepicker.js b/public/viewjs/components/datepicker.js new file mode 100644 index 00000000..0b62cf66 --- /dev/null +++ b/public/viewjs/components/datepicker.js @@ -0,0 +1,91 @@ +$(function() +{ + $('.datepicker').datepicker( + { + format: 'yyyy-mm-dd', + startDate: '+0d', + todayHighlight: true, + autoclose: true, + calendarWeeks: true, + orientation: 'bottom auto', + weekStart: 1, + showOnFocus: false + }); + $('.datepicker').trigger('change'); + + EmptyElementWhenMatches('#datepicker-timeago', 'NaN years ago'); +}); + +$('.datepicker').on('keydown', function(e) +{ + if (e.keyCode === 13) //Enter + { + $('.datepicker').trigger('change'); + } +}); + +$('.datepicker').on('keypress', function(e) +{ + var element = $(e.target); + var value = element.val(); + var dateObj = moment(element.val(), 'YYYY-MM-DD', true); + + $('.datepicker').datepicker('hide'); + + //If input is empty and any arrow key is pressed, set date to today + if (value.length === 0 && (e.keyCode === 38 || e.keyCode === 40 || e.keyCode === 37 || e.keyCode === 39)) + { + dateObj = moment(new Date(), 'YYYY-MM-DD', true); + } + + if (dateObj.isValid()) + { + if (e.keyCode === 38) //Up + { + element.val(dateObj.add(-1, 'days').format('YYYY-MM-DD')); + } + else if (e.keyCode === 40) //Down + { + element.val(dateObj.add(1, 'days').format('YYYY-MM-DD')); + } + else if (e.keyCode === 37) //Left + { + element.val(dateObj.add(-1, 'weeks').format('YYYY-MM-DD')); + } + else if (e.keyCode === 39) //Right + { + element.val(dateObj.add(1, 'weeks').format('YYYY-MM-DD')); + } + } +}); + +$('.datepicker').on('change', function(e) +{ + var value = $('.datepicker').val(); + var now = new Date(); + var centuryStart = Number.parseInt(now.getFullYear().toString().substring(0, 2) + '00'); + var centuryEnd = Number.parseInt(now.getFullYear().toString().substring(0, 2) + '99'); + + if (value === 'x' || value === 'X') { + value = '29991231'; + } + + if (value.length === 4 && !(Number.parseInt(value) > centuryStart && Number.parseInt(value) < centuryEnd)) + { + value = (new Date()).getFullYear().toString() + value; + } + + if (value.length === 8 && $.isNumeric(value)) + { + value = value.replace(/(\d{4})(\d{2})(\d{2})/, '$1-$2-$3'); + $('.datepicker').val(value); + } + + $('#datepicker-timeago').text($.timeago($('.datepicker').val())); + EmptyElementWhenMatches('#datepicker-timeago', 'NaN years ago'); +}); + +$('#datepicker-button').on('click', function(e) +{ + $('.datepicker').datepicker('show'); +}); diff --git a/public/viewjs/components/datetimepicker.js b/public/viewjs/components/datetimepicker.js new file mode 100644 index 00000000..303dc964 --- /dev/null +++ b/public/viewjs/components/datetimepicker.js @@ -0,0 +1,10 @@ +$(function() +{ + $('.datetimepicker').datetimepicker( + { + format: 'YYYY-MM-DD HH:mm:ss', + showTodayButton: true, + calendarWeeks: true, + maxDate: moment() + }); +}); diff --git a/public/viewjs/habittracking.js b/public/viewjs/habittracking.js index 2e44208f..696314eb 100644 --- a/public/viewjs/habittracking.js +++ b/public/viewjs/habittracking.js @@ -7,7 +7,7 @@ Grocy.FetchJson('/api/habits/get-habit-details/' + jsonForm.habit_id, function (habitDetails) { - Grocy.FetchJson('/api/habits/track-habit-exeuction/' + jsonForm.habit_id + '?tracked_time=' + $('#tracked_time').val(), + Grocy.FetchJson('/api/habits/track-habit-execution/' + jsonForm.habit_id + '?tracked_time=' + $('#tracked_time').val(), function(result) { toastr.success('Tracked execution of habit ' + habitDetails.habit.name + ' on ' + $('#tracked_time').val()); @@ -46,14 +46,6 @@ $('#habit_id').on('change', function(e) $(function() { - $('.datetimepicker').datetimepicker( - { - format: 'YYYY-MM-DD HH:mm:ss', - showTodayButton: true, - calendarWeeks: true, - maxDate: moment() - }); - $('#tracked_time').val(moment().format('YYYY-MM-DD HH:mm:ss')); $('#tracked_time').trigger('change'); @@ -90,63 +82,7 @@ $(function() }); }); -$('#tracked_time').on('change', function(e) -{ - var value = $('#tracked_time').val(); - var now = new Date(); - var centuryStart = Number.parseInt(now.getFullYear().toString().substring(0, 2) + '00'); - var centuryEnd = Number.parseInt(now.getFullYear().toString().substring(0, 2) + '99'); - - if (value === 'x' || value === 'X') { - value = '29991231'; - } - - if (value.length === 4 && !(Number.parseInt(value) > centuryStart && Number.parseInt(value) < centuryEnd)) - { - value = (new Date()).getFullYear().toString() + value; - } - - if (value.length === 8 && $.isNumeric(value)) - { - value = value.replace(/(\d{4})(\d{2})(\d{2})/, '$1-$2-$3'); - $('#tracked_time').val(value); - $('#habittracking-form').validator('validate'); - } -}); - $('#tracked_time').on('keypress', function(e) { - var element = $(e.target); - var value = element.val(); - var dateObj = moment(element.val(), 'YYYY-MM-DD', true); - - $('.datepicker').datepicker('hide'); - - //If input is empty and any arrow key is pressed, set date to today - if (value.length === 0 && (e.keyCode === 38 || e.keyCode === 40 || e.keyCode === 37 || e.keyCode === 39)) - { - dateObj = moment(new Date(), 'YYYY-MM-DD', true); - } - - if (dateObj.isValid()) - { - if (e.keyCode === 38) //Up - { - element.val(dateObj.add(-1, 'days').format('YYYY-MM-DD')); - } - else if (e.keyCode === 40) //Down - { - element.val(dateObj.add(1, 'days').format('YYYY-MM-DD')); - } - else if (e.keyCode === 37) //Left - { - element.val(dateObj.add(-1, 'weeks').format('YYYY-MM-DD')); - } - else if (e.keyCode === 39) //Right - { - element.val(dateObj.add(1, 'weeks').format('YYYY-MM-DD')); - } - } - $('#habittracking-form').validator('validate'); }); diff --git a/public/viewjs/inventory.js b/public/viewjs/inventory.js index d0e47fbc..5c9782b9 100644 --- a/public/viewjs/inventory.js +++ b/public/viewjs/inventory.js @@ -89,19 +89,6 @@ $('#product_id').on('change', function(e) $(function() { - $('.datepicker').datepicker( - { - format: 'yyyy-mm-dd', - startDate: '+0d', - todayHighlight: true, - autoclose: true, - calendarWeeks: true, - orientation: 'bottom auto', - weekStart: 1, - showOnFocus: false - }); - $('.datepicker').trigger('change'); - $('.combobox').combobox({ appendId: '_text_input' }); @@ -263,11 +250,6 @@ $(function() } }); -$('#best_before_date-datepicker-button').on('click', function(e) -{ - $('.datepicker').datepicker('show'); -}); - $('#new_amount').on('keypress', function(e) { $('#new_amount').trigger('change'); @@ -275,63 +257,11 @@ $('#new_amount').on('keypress', function(e) $('#best_before_date').on('change', function(e) { - var value = $('#best_before_date').val(); - var now = new Date(); - var centuryStart = Number.parseInt(now.getFullYear().toString().substring(0, 2) + '00'); - var centuryEnd = Number.parseInt(now.getFullYear().toString().substring(0, 2) + '99'); - - if (value === 'x' || value === 'X') - { - value = '29991231'; - } - - if (value.length === 4 && !(Number.parseInt(value) > centuryStart && Number.parseInt(value) < centuryEnd)) - { - value = (new Date()).getFullYear().toString() + value; - } - - if (value.length === 8 && $.isNumeric(value)) - { - value = value.replace(/(\d{4})(\d{2})(\d{2})/, '$1-$2-$3'); - $('#best_before_date').val(value); - $('#inventory-form').validator('validate'); - } + $('#inventory-form').validator('validate'); }); $('#best_before_date').on('keypress', function(e) { - var element = $(e.target); - var value = element.val(); - var dateObj = moment(element.val(), 'YYYY-MM-DD', true); - - $('.datepicker').datepicker('hide'); - - //If input is empty and any arrow key is pressed, set date to today - if (value.length === 0 && (e.keyCode === 38 || e.keyCode === 40 || e.keyCode === 37 || e.keyCode === 39)) - { - dateObj = moment(new Date(), 'YYYY-MM-DD', true); - } - - if (dateObj.isValid()) - { - if (e.keyCode === 38) //Up - { - element.val(dateObj.add(-1, 'days').format('YYYY-MM-DD')); - } - else if (e.keyCode === 40) //Down - { - element.val(dateObj.add(1, 'days').format('YYYY-MM-DD')); - } - else if (e.keyCode === 37) //Left - { - element.val(dateObj.add(-1, 'weeks').format('YYYY-MM-DD')); - } - else if (e.keyCode === 39) //Right - { - element.val(dateObj.add(1, 'weeks').format('YYYY-MM-DD')); - } - } - $('#inventory-form').validator('validate'); }); diff --git a/public/viewjs/purchase.js b/public/viewjs/purchase.js index 6d78ef75..cfd9c418 100644 --- a/public/viewjs/purchase.js +++ b/public/viewjs/purchase.js @@ -98,19 +98,6 @@ $('#product_id').on('change', function(e) $(function() { - $('.datepicker').datepicker( - { - format: 'yyyy-mm-dd', - startDate: '+0d', - todayHighlight: true, - autoclose: true, - calendarWeeks: true, - orientation: 'bottom auto', - weekStart: 1, - showOnFocus: false - }); - $('.datepicker').trigger('change'); - $('.combobox').combobox({ appendId: '_text_input' }); @@ -271,83 +258,14 @@ $(function() $('#flow-info-addbarcodetoselection').removeClass('hide'); $('#barcode-lookup-disabled-hint').removeClass('hide'); } - - EmptyElementWhenMatches('#best-before-timeago', 'NaN years ago'); -}); - -$('#best_before_date-datepicker-button').on('click', function(e) -{ - $('.datepicker').datepicker('show'); }); $('#best_before_date').on('change', function(e) { - var value = $('#best_before_date').val(); - var now = new Date(); - var centuryStart = Number.parseInt(now.getFullYear().toString().substring(0, 2) + '00'); - var centuryEnd = Number.parseInt(now.getFullYear().toString().substring(0, 2) + '99'); - - if (value === 'x' || value === 'X') { - value = '29991231'; - } - - if (value.length === 4 && !(Number.parseInt(value) > centuryStart && Number.parseInt(value) < centuryEnd)) - { - value = (new Date()).getFullYear().toString() + value; - } - - if (value.length === 8 && $.isNumeric(value)) - { - value = value.replace(/(\d{4})(\d{2})(\d{2})/, '$1-$2-$3'); - $('#best_before_date').val(value); - $('#purchase-form').validator('validate'); - } - - $('#best-before-timeago').text($.timeago($('#best_before_date').val())); - EmptyElementWhenMatches('#best-before-timeago', 'NaN years ago'); + $('#purchase-form').validator('validate'); }); -$('#best_before_date').on('keydown', function(e) -{ - if (e.keyCode === 13) //Enter - { - $('#best_before_date').trigger('change'); - } -}); - $('#best_before_date').on('keypress', function(e) { - var element = $(e.target); - var value = element.val(); - var dateObj = moment(element.val(), 'YYYY-MM-DD', true); - - $('.datepicker').datepicker('hide'); - - //If input is empty and any arrow key is pressed, set date to today - if (value.length === 0 && (e.keyCode === 38 || e.keyCode === 40 || e.keyCode === 37 || e.keyCode === 39)) - { - dateObj = moment(new Date(), 'YYYY-MM-DD', true); - } - - if (dateObj.isValid()) - { - if (e.keyCode === 38) //Up - { - element.val(dateObj.add(-1, 'days').format('YYYY-MM-DD')); - } - else if (e.keyCode === 40) //Down - { - element.val(dateObj.add(1, 'days').format('YYYY-MM-DD')); - } - else if (e.keyCode === 37) //Left - { - element.val(dateObj.add(-1, 'weeks').format('YYYY-MM-DD')); - } - else if (e.keyCode === 39) //Right - { - element.val(dateObj.add(1, 'weeks').format('YYYY-MM-DD')); - } - } - $('#purchase-form').validator('validate'); }); diff --git a/views/components/batterycard.blade.php b/views/components/batterycard.blade.php index 4a0c7275..37aa345d 100644 --- a/views/components/batterycard.blade.php +++ b/views/components/batterycard.blade.php @@ -1,8 +1,7 @@ -@extends('layout.basecomponent') +@push('componentScripts') + +@endpush -@section('componentJsName', 'batterycard') - -@section('componentContent')