Added now @delay(), added error screen of ajaxError events.

This commit is contained in:
Martin Edenhofer 2012-10-31 00:19:45 +01:00
parent db9e98f025
commit 6dccef5659
3 changed files with 42 additions and 12 deletions

View file

@ -148,18 +148,43 @@ class App.Controller extends Spine.Controller
) )
@interval( update, 30000, 'frontendTimeUpdate' ) @interval( update, 30000, 'frontendTimeUpdate' )
clearDelay: (delay_id) =>
# check global var
if !@_delayID
@_delayID = {}
clearTimeout( @_delayID[delay_id] ) if @_delayID[delay_id]
delay: (callback, timeout, delay_id) =>
# check global var
if !@_delayID
@_delayID = {}
# clear auto save
@clearDelay( @_delayID[delay_id] )
# request new data
call = =>
callback()
if delay_id
@_delayID[delay_id] = setTimeout( call, timeout )
else
setTimeout( call, timeout )
clearInterval: (interval_id) => clearInterval: (interval_id) =>
# check global var # check global var
if !@intervalID if !@_intervalID
@intervalID = {} @_intervalID = {}
clearInterval( @intervalID[interval_id] ) if @intervalID[interval_id] clearInterval( @_intervalID[interval_id] ) if @_intervalID[interval_id]
interval: (callback, interval, interval_id) => interval: (callback, interval, interval_id) =>
# check global var # check global var
if !@intervalID if !@_intervalID
@intervalID = {} @_intervalID = {}
callback() callback()
@ -167,10 +192,10 @@ class App.Controller extends Spine.Controller
every = (ms, cb) -> setInterval cb, ms every = (ms, cb) -> setInterval cb, ms
# clear auto save # clear auto save
clearInterval( @intervalID[interval_id] ) if @intervalID[interval_id] @clearInterval( @_intervalID[interval_id] )
# request new data # request new data
@intervalID[interval_id] = every interval, () => @_intervalID[interval_id] = every interval, () =>
callback() callback()
userPopups: (position = 'right') -> userPopups: (position = 'right') ->
@ -328,6 +353,8 @@ class App.ErrorModal extends App.ControllerModal
render: -> render: ->
@html App.view('error')( @html App.view('error')(
message: @message message: @message
detail: @detail
close: @close
) )
@modalShow( @modalShow(
backdrop: false, backdrop: false,

View file

@ -276,7 +276,7 @@ class App.ControllerForm extends App.Controller
else if attribute.tag is 'autocompletion' else if attribute.tag is 'autocompletion'
item = $( App.view('generic/autocompletion')( attribute: attribute ) ) item = $( App.view('generic/autocompletion')( attribute: attribute ) )
a = -> a = =>
@local_attribute = '#' + attribute.id @local_attribute = '#' + attribute.id
@local_attribute_full = '#' + attribute.id + '_autocompletion' @local_attribute_full = '#' + attribute.id + '_autocompletion'
@callback = attribute.callback @callback = attribute.callback

View file

@ -1,12 +1,15 @@
<div class="modal-header"> <div class="modal-header">
<!-- <% if @close: %>
<a href="#" class="close">&times;</a> <a href="#" class="close">&times;</a>
--> <% end %>
<h3><%- @T( 'Error' ) %></h3> <h3><%- @T( 'Error' ) %></h3>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<form class="form-horizontal"> <form class="form-horizontal">
<p><%= @message %> <p><%= @message %></p>
<% if @detail: %>
<pre><%= @detail %></p>
<% end %>
</form> </form>
</div> </div>
<div class="modal-footer"> <div class="modal-footer">