Show correct today if task is longer open then 24 hours.

This commit is contained in:
Martin Edenhofer 2015-11-27 00:02:07 +01:00
parent e19ee6b928
commit 62753dc63b
3 changed files with 106 additions and 20 deletions

View file

@ -15,22 +15,60 @@ class App.UiElement.date
# apply date widgets
$.fn.datepicker.dates['custom'] =
days: [App.i18n.translateInline('Sunday'), App.i18n.translateInline('Monday'), App.i18n.translateInline('Tuesday'), App.i18n.translateInline('Wednesday'), App.i18n.translateInline('Thursday'), App.i18n.translateInline('Friday'), App.i18n.translateInline('Saturday'), App.i18n.translateInline('Sunday')],
daysShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
daysMin: [App.i18n.translateInline('Su'), App.i18n.translateInline('Mo'), App.i18n.translateInline('Tu'), App.i18n.translateInline('We'), App.i18n.translateInline('Th'), App.i18n.translateInline('Fr'), App.i18n.translateInline('Sa'), App.i18n.translateInline('Su')],
months: [App.i18n.translateInline('January'), App.i18n.translateInline('February'), App.i18n.translateInline('March'), App.i18n.translateInline('April'), App.i18n.translateInline('May'), App.i18n.translateInline('June'), App.i18n.translateInline('July'), App.i18n.translateInline('August'), App.i18n.translateInline('September'), App.i18n.translateInline('October'), App.i18n.translateInline('November'), App.i18n.translateInline('December')],
days: [
App.i18n.translateInline('Sunday'),
App.i18n.translateInline('Monday'),
App.i18n.translateInline('Tuesday'),
App.i18n.translateInline('Wednesday'),
App.i18n.translateInline('Thursday'),
App.i18n.translateInline('Friday'),
App.i18n.translateInline('Saturday'),
App.i18n.translateInline('Sunday'),
],
daysMin: [
App.i18n.translateInline('Sun'),
App.i18n.translateInline('Mon'),
App.i18n.translateInline('Tue'),
App.i18n.translateInline('Wed'),
App.i18n.translateInline('Thu'),
App.i18n.translateInline('Fri'),
App.i18n.translateInline('Sat'),
App.i18n.translateInline('Sun')
],
daysShort: [
App.i18n.translateInline('Sun'),
App.i18n.translateInline('Mon'),
App.i18n.translateInline('Tue'),
App.i18n.translateInline('Wed'),
App.i18n.translateInline('Thu'),
App.i18n.translateInline('Fri'),
App.i18n.translateInline('Sat'),
App.i18n.translateInline('Sun')
],
months: [
App.i18n.translateInline('January'),
App.i18n.translateInline('February'),
App.i18n.translateInline('March'),
App.i18n.translateInline('April'),
App.i18n.translateInline('May'),
App.i18n.translateInline('June'),
App.i18n.translateInline('July'),
App.i18n.translateInline('August'),
App.i18n.translateInline('September'),
App.i18n.translateInline('October'),
App.i18n.translateInline('November'),
App.i18n.translateInline('December'),
],
monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
today: App.i18n.translateInline('today'),
clear: App.i18n.translateInline('clear')
currentDate = undefined
if attribute.value
startDate = new Date(attribute.value)
item.find('.js-datepicker').datepicker(
weekStart: 1
autoclose: true
todayBtn: 'linked'
todayHighlight: true
#startDate: startDate
format: App.i18n.timeFormat().date
container: item
language: 'custom'
@ -39,8 +77,11 @@ class App.UiElement.date
# set initial date time
@setNewTimeInitial(item, attribute)
# observer changes
item.find('input').bind('keyup blur focus change', (e) =>
# observer changes / update needed to forece rerender to get correct today shown
item.find('input').bind('focus', (e) ->
item.find('.js-datepicker').datepicker('rerender')
)
item.find('input').bind('keyup blur change', (e) =>
@setNewTime(item, attribute, 0)
@validation(item, attribute, true)
)

View file

@ -15,22 +15,60 @@ class App.UiElement.datetime
# apply date widgets
$.fn.datepicker.dates['custom'] =
days: [App.i18n.translateInline('Sunday'), App.i18n.translateInline('Monday'), App.i18n.translateInline('Tuesday'), App.i18n.translateInline('Wednesday'), App.i18n.translateInline('Thursday'), App.i18n.translateInline('Friday'), App.i18n.translateInline('Saturday'), App.i18n.translateInline('Sunday')],
daysShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
daysMin: [App.i18n.translateInline('Su'), App.i18n.translateInline('Mo'), App.i18n.translateInline('Tu'), App.i18n.translateInline('We'), App.i18n.translateInline('Th'), App.i18n.translateInline('Fr'), App.i18n.translateInline('Sa'), App.i18n.translateInline('Su')],
months: [App.i18n.translateInline('January'), App.i18n.translateInline('February'), App.i18n.translateInline('March'), App.i18n.translateInline('April'), App.i18n.translateInline('May'), App.i18n.translateInline('June'), App.i18n.translateInline('July'), App.i18n.translateInline('August'), App.i18n.translateInline('September'), App.i18n.translateInline('October'), App.i18n.translateInline('November'), App.i18n.translateInline('December')],
days: [
App.i18n.translateInline('Sunday'),
App.i18n.translateInline('Monday'),
App.i18n.translateInline('Tuesday'),
App.i18n.translateInline('Wednesday'),
App.i18n.translateInline('Thursday'),
App.i18n.translateInline('Friday'),
App.i18n.translateInline('Saturday'),
App.i18n.translateInline('Sunday'),
],
daysMin: [
App.i18n.translateInline('Sun'),
App.i18n.translateInline('Mon'),
App.i18n.translateInline('Tue'),
App.i18n.translateInline('Wed'),
App.i18n.translateInline('Thu'),
App.i18n.translateInline('Fri'),
App.i18n.translateInline('Sat'),
App.i18n.translateInline('Sun')
],
daysShort: [
App.i18n.translateInline('Sun'),
App.i18n.translateInline('Mon'),
App.i18n.translateInline('Tue'),
App.i18n.translateInline('Wed'),
App.i18n.translateInline('Thu'),
App.i18n.translateInline('Fri'),
App.i18n.translateInline('Sat'),
App.i18n.translateInline('Sun')
],
months: [
App.i18n.translateInline('January'),
App.i18n.translateInline('February'),
App.i18n.translateInline('March'),
App.i18n.translateInline('April'),
App.i18n.translateInline('May'),
App.i18n.translateInline('June'),
App.i18n.translateInline('July'),
App.i18n.translateInline('August'),
App.i18n.translateInline('September'),
App.i18n.translateInline('October'),
App.i18n.translateInline('November'),
App.i18n.translateInline('December'),
],
monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
today: App.i18n.translateInline('today'),
clear: App.i18n.translateInline('clear')
currentDate = undefined
if attribute.value
startDate = new Date(attribute.value)
item.find('.js-datepicker').datepicker(
weekStart: 1
autoclose: true
todayBtn: 'linked'
todayHighlight: true
#startDate: startDate
format: App.i18n.timeFormat().date
container: item
language: 'custom'
@ -42,8 +80,11 @@ class App.UiElement.datetime
# apply time widgets
item.find('.js-timepicker').timepicker()
# observer changes
item.find('input').bind('keyup blur focus change', (e) =>
# observer changes / update needed to forece rerender to get correct today shown
item.find('input').bind('focus', (e) ->
item.find('.js-datepicker').datepicker('rerender')
)
item.find('input').bind('keyup blur change', (e) =>
@setNewTime(item, attribute, 0)
@validation(item, attribute, true)
)

View file

@ -21,12 +21,11 @@
* ========================================================= */
/*
Zammad Edits:
- fix todayBtn toggle of display none and block: toggleClass instead
- allow custom template as options parameter
- fix that place method doesn't think that the container is the window, but rather the real window is the window
- added rerender method to show correct today if task is longer open the 24 hours
*/
(function(factory){
@ -762,6 +761,11 @@
},
_allow_update: true,
rerender: function(){
this.fill();
this.element.change();
return this;
},
update: function(){
if (!this._allow_update)
return this;