graph-viz-d3-js icon indicating copy to clipboard operation
graph-viz-d3-js copied to clipboard

renderCallback fires too early?

Open magjac opened this issue 7 years ago • 0 comments

I want to access the "transform" attribute of the second level g element in the svg, but it is not available immediately after calling renderer.render(). I tried to use the renderer.renderHandler() callback, but it fires before the attributes are available.

Is this intentionally? If so, is there some other way to know when the rendering is finished?

Below is my log file. It shows the following timeline:

19:13:14.207: rendering starts 19:13:14.583: callback fires 19:13:14.658: renderer, stage & layout-worker have all returned, but the attributes are not available yet 19:13:14.762: attributes becomes available 19:13:15.494: attributes are stable (D3 animation has finished)

Full log file:

magjac d3 200: running renderer.init(), element =  #graph	renderer.js:460:7
Wait 3 seconds and then Call renderSVG(), t = 19:13:11.199	jira-dependency-graph.js:76:5
TypeError: asm.js type error: incompatible type for argument 5: (i32 here vs. f64 before)	layout-worker.js:3243:60
magjac d3 720: transformer init posting "ready" message	layout-worker.js:6565:5
magjac d3 200: running renderer event handler, event =  ready	renderer.js:438:5
magjac d3 200: returning from renderer event handler, event =  ready	renderer.js:455:5
magjac d3 730: transformer init posted "ready" message	layout-worker.js:6569:5
magjac 008: running renderSVG, t = 19:13:14.200	jira-dependency-graph.js:81:5
magjac 010: calling insertSVGfromDOT, t = 19:13:14.201	jira-dependency-graph.js:82:5
magjac 300: insertSVGfromDOT	jira-dependency-graph.js:834:5

magjac 444: Calling renderer.render(dotSrc), t = 19:13:14.207	jira-dependency-graph.js:846:5

magjac d3 200: running renderer.render()	renderer.js:465:7
magjac d3 200: returning from renderer.render()	renderer.js:471:7
magjac 115:	jira-dependency-graph.js:849:5
magjac 020: returned from insertSVGfromDOT t = 19:13:14.208	jira-dependency-graph.js:85:5
magjac 123:  t = 19:13:14.209 svg g g attributes = NamedNodeMap [  ]	jira-dependency-graph.js:98:5
magjac 030: returned from logAttr t = 19:13:14.211	jira-dependency-graph.js:88:5
magjac d3 700: layout-worker onmessage, event = [object MessageEvent]	layout-worker.js:6542:7
magjac d3 705: layout-worker onmessage, calling transformer.generate()	layout-worker.js:6544:9
magjac 123:  t = 19:13:14.352 svg g g attributes = NamedNodeMap [  ]	jira-dependency-graph.js:98:5
magjac 123:  t = 19:13:14.453 svg g g attributes = NamedNodeMap [  ]	jira-dependency-graph.js:98:5
magjac 123:  t = 19:13:14.555 svg g g attributes = NamedNodeMap [  ]	jira-dependency-graph.js:98:5
magjac d3 710: layout-worker onmessage, returned from transformer.generate()	layout-worker.js:6547:9
magjac d3 710: layout-worker onmessage, posting "stage" massage	layout-worker.js:6550:9
magjac d3 200: running renderer event handler, event =  stage	renderer.js:438:5
magjac d3 200: running stage.draw()	renderer.js:264:9
magjac d3 290: returning from stage.draw()	renderer.js:378:9

magjac 122:  t = 19:13:14.583 running rendererCallback	jira-dependency-graph.js:92:5

magjac d3 200: returning from renderer event handler, event =  stage	renderer.js:455:5
magjac d3 710: layout-worker onmessage, posted "stage" massage	layout-worker.js:6555:9
magjac d3 715: layout-worker onmessage returning	layout-worker.js:6562:7
magjac 123:  t = 19:13:14.658 svg g g attributes = NamedNodeMap [  ]	jira-dependency-graph.js:98:5

magjac 123:  t = 19:13:14.762 svg g g attributes = NamedNodeMap [ transform="translate(0.0013896676384839645,0.1410512653061224)" ]	jira-dependency-graph.js:98:5

magjac 123:  t = 19:13:14.871 svg g g attributes = NamedNodeMap [ transform="translate(0.14517252478134113,14.735011265306124)" ]	jira-dependency-graph.js:98:5
magjac 123:  t = 19:13:14.973 svg g g attributes = NamedNodeMap [ transform="translate(0.694434332361516,70.48508473469387)" ]	jira-dependency-graph.js:98:5
magjac 123:  t = 19:13:15.074 svg g g attributes = NamedNodeMap [ transform="translate(1.9490109854227406,197.82461502040817)" ]	jira-dependency-graph.js:98:5
magjac 123:  t = 19:13:15.177 svg g g attributes = NamedNodeMap [ transform="translate(3.2711370262390673,332.02040816326536)" ]	jira-dependency-graph.js:98:5
magjac 123:  t = 19:13:15.279 svg g g attributes = NamedNodeMap [ transform="translate(3.8456933411078733,390.33787412244914)" ]	jira-dependency-graph.js:98:5
magjac 123:  t = 19:13:15.392 svg g g attributes = NamedNodeMap [ transform="translate(3.9979999999999976,405.79699999999974)" ]	jira-dependency-graph.js:98:5

magjac 123:  t = 19:13:15.494 svg g g attributes = NamedNodeMap [ transform="translate(4,406)" ]	jira-dependency-graph.js:98:5

magjac 123:  t = 19:13:15.595 svg g g attributes = NamedNodeMap [ transform="translate(4,406)" ]	jira-dependency-graph.js:98:5
magjac 123:  t = 19:13:15.696 svg g g attributes = NamedNodeMap [ transform="translate(4,406)" ]	jira-dependency-graph.js:98:5
magjac 123:  t = 19:13:15.804 svg g g attributes = NamedNodeMap [ transform="translate(4,406)" ]	jira-dependency-graph.js:98:5
magjac 123:  t = 19:13:15.906 svg g g attributes = NamedNodeMap [ transform="translate(4,406)" ]	jira-dependency-graph.js:98:5
magjac 123:  t = 19:13:16.008 svg g g attributes = NamedNodeMap [ transform="translate(4,406)" ]	jira-dependency-graph.js:98:5
magjac 123:  t = 19:13:16.109 svg g g attributes = NamedNodeMap [ transform="translate(4,406)" ]	jira-dependency-graph.js:98:5
magjac 123:  t = 19:13:16.210 svg g g attributes = NamedNodeMap [ transform="translate(4,406)" ]	jira-dependency-graph.js:98:5
magjac 123:  t = 19:13:16.312 svg g g attributes = NamedNodeMap [ transform="translate(4,406)" ]	jira-dependency-graph.js:98:5
magjac 123:  t = 19:13:16.413 svg g g attributes = NamedNodeMap [ transform="translate(4,406)" ]	jira-dependency-graph.js:98:5
magjac 123:  t = 19:13:16.523 svg g g attributes = NamedNodeMap [ transform="translate(4,406)" ]	jira-dependency-graph.js:98:5
magjac 123:  t = 19:13:16.624 svg g g attributes = NamedNodeMap [ transform="translate(4,406)" ]	jira-dependency-graph.js:98:5
magjac 123:  t = 19:13:16.757 svg g g attributes = NamedNodeMap [ transform="translate(4,406)" ]	jira-dependency-graph.js:98:5
magjac 123:  t = 19:13:16.885 svg g g attributes = NamedNodeMap [ transform="translate(4,406)" ]	jira-dependency-graph.js:98:5
magjac 123:  t = 19:13:17.042 svg g g attributes = NamedNodeMap [ transform="translate(4,406)" ]	jira-dependency-graph.js:98:5
magjac 123:  t = 19:13:17.170 svg g g attributes = NamedNodeMap [ transform="translate(4,406)" ]	jira-dependency-graph.js:98:5
magjac 123:  t = 19:13:17.296 svg g g attributes = NamedNodeMap [ transform="translate(4,406)" ]	jira-dependency-graph.js:98:5
magjac 123:  t = 19:13:17.412 svg g g attributes = NamedNodeMap [ transform="translate(4,406)" ]	jira-dependency-graph.js:98:5

magjac avatar Apr 07 '17 17:04 magjac