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 += "&timespan=#{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

Version Path
pulse_meter-dygraphs_visualizer-0.4.25 lib/pulse_meter/dygraphs_visualize/coffee/models/widget.coffee
pulse_meter-dygraphs_visualizer-0.4.23 lib/pulse_meter/dygraphs_visualize/coffee/models/widget.coffee
pulse_meter-dygraphs_visualizer-0.4.22 lib/pulse_meter/dygraphs_visualize/coffee/models/widget.coffee
pulse_meter-dygraphs_visualizer-0.4.21 lib/pulse_meter/dygraphs_visualize/coffee/models/widget.coffee
pulse_meter-dygraphs_visualizer-0.4.20 lib/pulse_meter/dygraphs_visualize/coffee/models/widget.coffee
pulse_meter-dygraphs_visualizer-0.4.19 lib/pulse_meter/dygraphs_visualize/coffee/models/widget.coffee
pulse_meter-dygraphs_visualizer-0.4.18 lib/pulse_meter/dygraphs_visualize/coffee/models/widget.coffee
pulse_meter-dygraphs_visualizer-0.4.17 lib/pulse_meter/dygraphs_visualize/coffee/models/widget.coffee
pulse_meter-dygraphs_visualizer-0.4.16 lib/pulse_meter/dygraphs_visualize/coffee/models/widget.coffee
pulse_meter-dygraphs_visualizer-0.4.15 lib/pulse_meter/dygraphs_visualize/coffee/models/widget.coffee