# HG changeset patch # User Drew Perttula # Date 1465027472 0 # Node ID 17aa66cb6248e488fdee7d5e3b50fc08ad224f0b # Parent 44558087d3f67f9f7c676182cd5319dd858fe142 support page width updates Ignore-this: ead3ce33f47bc1f962cc219571422ebe diff -r 44558087d3f6 -r 17aa66cb6248 light9/web/timeline.coffee --- a/light9/web/timeline.coffee Sat Jun 04 08:04:01 2016 +0000 +++ b/light9/web/timeline.coffee Sat Jun 04 08:04:32 2016 +0000 @@ -7,7 +7,12 @@ viewState: { type: Object } debug: {type: String} graph: {type: Object, notify: true} - + width: ko.observable(1) + listeners: + 'iron-resize': '_onIronResize' + _onIronResize: -> + @width(@offsetWidth) + attached: -> @dia = @$.dia @viewState = @@ -22,9 +27,8 @@ @debug = ko.toJSON(@viewState) ko.computed => - # todo: need to trigger this when @offsetWidth changes, too - @fullZoomX = d3.scaleLinear().domain([0, @viewState.zoomSpec.duration()]).range([0, @offsetWidth]) - @zoomInX = d3.scaleLinear().domain([@viewState.zoomSpec.t1(), @viewState.zoomSpec.t2()]).range([0, @offsetWidth]) + @fullZoomX = d3.scaleLinear().domain([0, @viewState.zoomSpec.duration()]).range([0, @width()]) + @zoomInX = d3.scaleLinear().domain([@viewState.zoomSpec.t1(), @viewState.zoomSpec.t2()]).range([0, @width()]) @$.adjusters.updateAllCoords() animCursor = () => @@ -38,9 +42,8 @@ setInterval(animCursor, 50) - setTimeout(() => - @adjs = @makeZoomAdjs().concat(@persistDemo()) - , 500) + @adjs = @makeZoomAdjs().concat(@persistDemo()) + persistDemo: -> ctx = @graph.Uri('http://example.com/')