Sha256: ad835cae1ce945b4fc9fb16780baab7ee74243ccde0bba9bd45339502f267a0e
Contents?: true
Size: 1.3 KB
Versions: 10
Compression:
Stored size: 1.3 KB
Contents
Widget = Backbone.Model.extend { initialize: -> @updating = false @needRefresh = true @setNextFetch() @timespanInc = 0 setStartTime: (@startTime) -> setEndTime: (@endTime) -> increaseTimespan: (inc) -> @timespanInc = @timespanInc + inc @forceUpdate() resetTimespan: -> @timespanInc = 0 @startTime = null @endTime = null @forceUpdate() timespan: -> @get('timespan') + @timespanInc url: -> timespan = @timespan() url = "#{@collection.url()}/#{@get('id')}?" url += "×pan=#{timespan}" unless _.isNaN(timespan) url += "&startTime=#{@startTime}" if @startTime url += "&endTime=#{@endTime}" if @endTime url time: -> (new Date()).getTime() setNextFetch: -> @nextFetch = @time() + @get('redrawInterval') * 1000 setRefresh: (needRefresh) -> @needRefresh = needRefresh needFetch: -> interval = @get('redrawInterval') @time() > @nextFetch && @needRefresh && interval? && interval > 0 refetch: -> if @needFetch() @forceUpdate() @setNextFetch() setUpdated: -> @updating = false forceUpdate: -> return if @updating @updating = true xhr = @fetch { success: (model, response) => @trigger('redraw') } xhr.always () => @updating = false xhr.fail (xhr, textStatus, errorThrown) => console.log "xhr fail", @get('id'), textStatus, errorThrown }
Version data entries
10 entries across 10 versions & 1 rubygems