|
|
|
@ -1,18 +1,29 @@ |
|
|
|
|
'use strict'; |
|
|
|
|
|
|
|
|
|
var BuoyAnalysisBehaviors = { |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* |
|
|
|
|
*/ |
|
|
|
|
reticleDrag: function(d) { |
|
|
|
|
d.x += d3.event.dx; |
|
|
|
|
d.y += d3.event.dy; |
|
|
|
|
|
|
|
|
|
d3.select(this).attr("transform", function(d) { |
|
|
|
|
return "translate(" + [ d.x, d.y ] + ")" |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
BuoyAnalysisMap.findStationsUnderReticle(); |
|
|
|
|
BuoyAnalysisChart.draw(); |
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* |
|
|
|
|
*/ |
|
|
|
|
reticleDragEnd: function() { |
|
|
|
|
reticleClick: function() { |
|
|
|
|
if (d3.event.defaultPrevented) { |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
var x = d3.mouse(this)[0]; |
|
|
|
|
var y = d3.mouse(this)[1]; |
|
|
|
|
|
|
|
|
@ -24,14 +35,11 @@ var BuoyAnalysisBehaviors = { |
|
|
|
|
x = 800; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var d = d3.select('.reticle').data()[0]; |
|
|
|
|
d.x = x; |
|
|
|
|
d.y = y; |
|
|
|
|
d.x = d3.event.x; |
|
|
|
|
d.y = d3.event.y; |
|
|
|
|
|
|
|
|
|
d3.select('.reticle') |
|
|
|
|
.transition() |
|
|
|
|
.duration(300) |
|
|
|
|
.attr('transform', 'translate(' + [ d.x, d.y ] + ')') |
|
|
|
|
|
|
|
|
|
BuoyAnalysisMap.findStationsUnderReticle(); |
|
|
|
@ -42,7 +50,11 @@ var BuoyAnalysisBehaviors = { |
|
|
|
|
* |
|
|
|
|
*/ |
|
|
|
|
reticleResize: function() { |
|
|
|
|
d3.select('.reticle') |
|
|
|
|
.attr('r', BuoyAnalysisMap.reticle.scale(this.value)); |
|
|
|
|
|
|
|
|
|
BuoyAnalysisMap.findStationsUnderReticle(); |
|
|
|
|
BuoyAnalysisChart.draw(); |
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
@ -106,58 +118,17 @@ var BuoyAnalysisBehaviors = { |
|
|
|
|
*/ |
|
|
|
|
attachBehaviors: function() { |
|
|
|
|
d3.select('#map') |
|
|
|
|
.on('click', BuoyAnalysisBehaviors.reticleDragEnd) |
|
|
|
|
// .call(d3.behavior.drag()
|
|
|
|
|
// .on('drag', BuoyAnalysisBehaviors.reticleDrag)
|
|
|
|
|
// .on('dragend', BuoyAnalysisBehaviors.reticleDragEnd)
|
|
|
|
|
// );
|
|
|
|
|
.on('click', BuoyAnalysisBehaviors.reticleClick); |
|
|
|
|
|
|
|
|
|
d3.select('.reticle') |
|
|
|
|
.call(d3.behavior.drag().on('drag', BuoyAnalysisBehaviors.reticleDrag)); |
|
|
|
|
|
|
|
|
|
d3.selectAll('.bar-display .toggle') |
|
|
|
|
.on('click', BuoyAnalysisBehaviors.barDisplayClick); |
|
|
|
|
|
|
|
|
|
d3.selectAll('.column-display .toggle') |
|
|
|
|
.on('click', BuoyAnalysisBehaviors.columnDisplayClick); |
|
|
|
|
|
|
|
|
|
d3.select(".reticle-sizer").on("input", BuoyAnalysisBehaviors.reticleResize); |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
// d3.selectAll('.detail')
|
|
|
|
|
// .on('mouseover', startAnimateStation)
|
|
|
|
|
// .on('mouseout', stopAnimateStation);
|
|
|
|
|
|
|
|
|
|
// function startAnimateStation() {
|
|
|
|
|
// var id = d3.event.target.id || d3.event.target.parentNode.id;
|
|
|
|
|
// var selector = '#' + id.split('-')[1];
|
|
|
|
|
|
|
|
|
|
// d3.select(selector)
|
|
|
|
|
// .transition()
|
|
|
|
|
// .attr('r', '10')
|
|
|
|
|
// .duration(200)
|
|
|
|
|
// };
|
|
|
|
|
|
|
|
|
|
// function stopAnimateStation() {
|
|
|
|
|
// var id = d3.event.target.id || d3.event.target.parentNode.id;
|
|
|
|
|
// var selector = '#' + id.split('-')[1];
|
|
|
|
|
|
|
|
|
|
// d3.select(selector)
|
|
|
|
|
// .transition()
|
|
|
|
|
// .attr('r', '3')
|
|
|
|
|
// .duration(200)
|
|
|
|
|
// };
|
|
|
|
|
|
|
|
|
|
// /**
|
|
|
|
|
// *
|
|
|
|
|
// */
|
|
|
|
|
// function startAnimateDetail() {
|
|
|
|
|
// var id = d3.event.target.id;
|
|
|
|
|
// d3.select('#detail-' + id)
|
|
|
|
|
// .classed('active', true)
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
// /**
|
|
|
|
|
// *
|
|
|
|
|
// */
|
|
|
|
|
// function stopAnimateDetail() {
|
|
|
|
|
// var id = d3.event.target.id;
|
|
|
|
|
// d3.select('#detail-' + id)
|
|
|
|
|
// .classed('active', false)
|
|
|
|
|
// }
|