Added .timepicker() in sla_times ui element.

This commit is contained in:
Martin Edenhofer 2015-09-16 15:25:28 +02:00
parent c7ec0d9c5a
commit 8fdd3d26a9
3 changed files with 36 additions and 17 deletions

View file

@ -1,6 +1,10 @@
class App.UiElement.sla_times class App.UiElement.sla_times
@render: (attribute, params = {}) -> @render: (attribute, params = {}) ->
# set default value
if !params.first_response_time && params.first_response_time isnt 0
params.first_response_time = 120
item = $( App.view('generic/sla_times')( item = $( App.view('generic/sla_times')(
attribute: attribute attribute: attribute
first_response_time: params.first_response_time first_response_time: params.first_response_time
@ -11,34 +15,49 @@ class App.UiElement.sla_times
solution_time_in_text: @toText(params.solution_time) solution_time_in_text: @toText(params.solution_time)
) ) ) )
item.find('.js-activateRow').bind('change', (e) => # appliy hour picker
element = $(e.target) item.find('.js-timeConvertFrom').timepicker(
if element.prop('checked') maxHours: 999
element.closest('tr').addClass('is-active')
else
element.closest('tr').removeClass('is-active')
element.closest('tr').find('.js-timeConvertFrom').val('')
) )
item.find('.js-timeConvertFrom').bind('keyup', (e) => # disable/enable rows
item.find('.js-activateRow').bind('change', (e) =>
element = $(e.target)
row = element.closest('tr')
if element.prop('checked')
row.addClass('is-active')
else
row.removeClass('is-active')
# reset data item
row.find('.js-timeConvertFrom').val('')
row.find('.js-timeConvertTo').val('')
)
# convert hours into minutes
item.find('.js-timeConvertFrom').bind('keyup focus blur', (e) =>
element = $(e.target) element = $(e.target)
inText = element.val() inText = element.val()
row = element.closest('tr')
dest = element.closest('td').find('.js-timeConvertTo')
inMinutes = @toMinutes(inText) inMinutes = @toMinutes(inText)
if !inMinutes if !inMinutes
element.addClass('has-error') element.addClass('has-error')
dest.val('')
else else
element.removeClass('has-error') element.removeClass('has-error')
dest = element.closest('td').find('.js-timeConvertTo')
dest.val(inMinutes) dest.val(inMinutes)
element.closest('tr').find('.js-activateRow').prop('checked', true) row.find('.js-activateRow').prop('checked', true)
element.closest('tr').addClass('is-active') row.addClass('is-active')
) )
# set initial active/inactive rows
item.find('.js-timeConvertFrom').each(-> item.find('.js-timeConvertFrom').each(->
row = $(@).closest('tr').find('.js-activateRow')
if $(@).val() if $(@).val()
$(@).closest('tr').find('.js-activateRow').prop('checked', true) row.prop('checked', true)
else else
$(@).closest('tr').find('.js-activateRow').prop('checked', false) row.prop('checked', false)
) )
item item

View file

@ -10,7 +10,7 @@ class CalendarsController < ApplicationController
# calendars # calendars
calendar_ids = [] calendar_ids = []
Calendar.all.each {|calendar| Calendar.all.order(:name).each {|calendar|
calendar_ids.push calendar.id calendar_ids.push calendar.id
assets = calendar.assets(assets) assets = calendar.assets(assets)
} }

View file

@ -53,14 +53,14 @@ curl http://localhost/api/v1/slas.json -v -u #{login}:#{password}
# calendars # calendars
calendar_ids = [] calendar_ids = []
Calendar.all.each {|calendar| Calendar.all.order(:name).each {|calendar|
calendar_ids.push calendar.id calendar_ids.push calendar.id
assets = calendar.assets(assets) assets = calendar.assets(assets)
} }
# slas # slas
sla_ids = [] sla_ids = []
Sla.all.each {|sla| Sla.all.order(:name).each {|sla|
sla_ids.push sla.id sla_ids.push sla.id
assets = sla.assets(assets) assets = sla.assets(assets)
} }