GUI -- Fixed host node exit animation.
Change-Id: If9ad86451f5f7905fa01101d060d0490e206a4bc
Showing
1 changed file
with
30 additions
and
11 deletions
| ... | @@ -625,12 +625,12 @@ | ... | @@ -625,12 +625,12 @@ |
| 625 | }) | 625 | }) |
| 626 | .style('opacity', 0.4) | 626 | .style('opacity', 0.4) |
| 627 | .transition() | 627 | .transition() |
| 628 | - .duration(2000) | 628 | + .duration(1500) |
| 629 | .attr({ | 629 | .attr({ |
| 630 | 'stroke-dasharray': '3, 12' | 630 | 'stroke-dasharray': '3, 12' |
| 631 | }) | 631 | }) |
| 632 | .transition() | 632 | .transition() |
| 633 | - .duration(1000) | 633 | + .duration(500) |
| 634 | .style('opacity', 0.0) | 634 | .style('opacity', 0.0) |
| 635 | .remove(); | 635 | .remove(); |
| 636 | } | 636 | } |
| ... | @@ -884,18 +884,37 @@ | ... | @@ -884,18 +884,37 @@ |
| 884 | //node .foo() .bar() ... | 884 | //node .foo() .bar() ... |
| 885 | 885 | ||
| 886 | // operate on exiting nodes: | 886 | // operate on exiting nodes: |
| 887 | - // TODO: figure out how to remove the node 'g' AND its children | 887 | + // Note that the node is removed after 2 seconds. |
| 888 | - node.exit() | 888 | + // Sub element animations should be shorter than 2 seconds. |
| 889 | - .transition() | 889 | + var exiting = node.exit() |
| 890 | - .style('opacity', 0.4) | ||
| 891 | - .attr('fill', '#888') | ||
| 892 | .transition() | 890 | .transition() |
| 893 | .duration(2000) | 891 | .duration(2000) |
| 894 | - .attr({ | 892 | + .style('opacity', 0) |
| 895 | - opacity: 0, | ||
| 896 | - r: 0 | ||
| 897 | - }) | ||
| 898 | .remove(); | 893 | .remove(); |
| 894 | + | ||
| 895 | + // host node exits.... | ||
| 896 | + exiting.filter('.host').each(function (d) { | ||
| 897 | + var node = d3.select(this); | ||
| 898 | + | ||
| 899 | + node.select('text') | ||
| 900 | + .style('opacity', 0.5) | ||
| 901 | + .transition() | ||
| 902 | + .duration(1000) | ||
| 903 | + .style('opacity', 0); | ||
| 904 | + // note, leave <g>.remove to remove this element | ||
| 905 | + | ||
| 906 | + node.select('circle') | ||
| 907 | + .style('stroke-fill', '#555') | ||
| 908 | + .style('fill', '#888') | ||
| 909 | + .style('opacity', 0.5) | ||
| 910 | + .transition() | ||
| 911 | + .duration(1500) | ||
| 912 | + .attr('r', 0); | ||
| 913 | + // note, leave <g>.remove to remove this element | ||
| 914 | + | ||
| 915 | + }); | ||
| 916 | + | ||
| 917 | + // TODO: device node exits | ||
| 899 | } | 918 | } |
| 900 | 919 | ||
| 901 | function find(id, array) { | 920 | function find(id, array) { | ... | ... |
-
Please register or login to post a comment