Skip to content

Commit cd21dea

Browse files
committed
Consolidate duplicate code.
1 parent 1fc660a commit cd21dea

3 files changed

Lines changed: 38 additions & 99 deletions

File tree

d3.js

Lines changed: 15 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -8632,61 +8632,25 @@
86328632
g.each(function() {
86338633
var g = d3.select(this);
86348634
var scale0 = this.__chart__ || scale, scale1 = this.__chart__ = scale.copy();
8635-
var ticks = tickValues == null ? scale1.ticks ? scale1.ticks.apply(scale1, tickArguments_) : scale1.domain() : tickValues, tickFormat = tickFormat_ == null ? scale1.tickFormat ? scale1.tickFormat.apply(scale1, tickArguments_) : d3_identity : tickFormat_, tick = g.selectAll(".tick").data(ticks, scale1), tickEnter = tick.enter().insert("g", ".domain").attr("class", "tick").style("opacity", ε), tickExit = d3.transition(tick.exit()).style("opacity", ε).remove(), tickUpdate = d3.transition(tick.order()).style("opacity", 1), tickTransform;
8635+
var ticks = tickValues == null ? scale1.ticks ? scale1.ticks.apply(scale1, tickArguments_) : scale1.domain() : tickValues, tickFormat = tickFormat_ == null ? scale1.tickFormat ? scale1.tickFormat.apply(scale1, tickArguments_) : d3_identity : tickFormat_, tick = g.selectAll(".tick").data(ticks, scale1), tickEnter = tick.enter().insert("g", ".domain").attr("class", "tick").style("opacity", ε), tickExit = d3.transition(tick.exit()).style("opacity", ε).remove(), tickUpdate = d3.transition(tick.order()).style("opacity", 1), tickSpacing = Math.max(innerTickSize, 0) + tickPadding, tickTransform;
86368636
var range = d3_scaleRange(scale1), path = g.selectAll(".domain").data([ 0 ]), pathUpdate = (path.enter().append("path").attr("class", "domain"),
86378637
d3.transition(path));
86388638
tickEnter.append("line");
86398639
tickEnter.append("text");
8640-
var lineEnter = tickEnter.select("line"), lineUpdate = tickUpdate.select("line"), text = tick.select("text").text(tickFormat), textEnter = tickEnter.select("text"), textUpdate = tickUpdate.select("text");
8641-
switch (orient) {
8642-
case "bottom":
8643-
{
8644-
tickTransform = d3_svg_axisX;
8645-
lineEnter.attr("y2", innerTickSize);
8646-
textEnter.attr("y", Math.max(innerTickSize, 0) + tickPadding);
8647-
lineUpdate.attr("x2", 0).attr("y2", innerTickSize);
8648-
textUpdate.attr("x", 0).attr("y", Math.max(innerTickSize, 0) + tickPadding);
8649-
text.attr("dy", ".71em").style("text-anchor", "middle");
8650-
pathUpdate.attr("d", "M" + range[0] + "," + outerTickSize + "V0H" + range[1] + "V" + outerTickSize);
8651-
break;
8652-
}
8653-
8654-
case "top":
8655-
{
8656-
tickTransform = d3_svg_axisX;
8657-
lineEnter.attr("y2", -innerTickSize);
8658-
textEnter.attr("y", -(Math.max(innerTickSize, 0) + tickPadding));
8659-
lineUpdate.attr("x2", 0).attr("y2", -innerTickSize);
8660-
textUpdate.attr("x", 0).attr("y", -(Math.max(innerTickSize, 0) + tickPadding));
8661-
text.attr("dy", "0em").style("text-anchor", "middle");
8662-
pathUpdate.attr("d", "M" + range[0] + "," + -outerTickSize + "V0H" + range[1] + "V" + -outerTickSize);
8663-
break;
8664-
}
8665-
8666-
case "left":
8667-
{
8668-
tickTransform = d3_svg_axisY;
8669-
lineEnter.attr("x2", -innerTickSize);
8670-
textEnter.attr("x", -(Math.max(innerTickSize, 0) + tickPadding));
8671-
lineUpdate.attr("x2", -innerTickSize).attr("y2", 0);
8672-
textUpdate.attr("x", -(Math.max(innerTickSize, 0) + tickPadding)).attr("y", 0);
8673-
text.attr("dy", ".32em").style("text-anchor", "end");
8674-
pathUpdate.attr("d", "M" + -outerTickSize + "," + range[0] + "H0V" + range[1] + "H" + -outerTickSize);
8675-
break;
8676-
}
8677-
8678-
case "right":
8679-
{
8680-
tickTransform = d3_svg_axisY;
8681-
lineEnter.attr("x2", innerTickSize);
8682-
textEnter.attr("x", Math.max(innerTickSize, 0) + tickPadding);
8683-
lineUpdate.attr("x2", innerTickSize).attr("y2", 0);
8684-
textUpdate.attr("x", Math.max(innerTickSize, 0) + tickPadding).attr("y", 0);
8685-
text.attr("dy", ".32em").style("text-anchor", "start");
8686-
pathUpdate.attr("d", "M" + outerTickSize + "," + range[0] + "H0V" + range[1] + "H" + outerTickSize);
8687-
break;
8688-
}
8689-
}
8640+
var lineEnter = tickEnter.select("line"), lineUpdate = tickUpdate.select("line"), text = tick.select("text").text(tickFormat), textEnter = tickEnter.select("text"), textUpdate = tickUpdate.select("text"), sign = orient === "top" || orient === "left" ? -1 : 1, x1, x2, y1, y2;
8641+
if (orient === "bottom" || orient === "top") {
8642+
tickTransform = d3_svg_axisX, x1 = "x", y1 = "y", x2 = "x2", y2 = "y2";
8643+
text.attr("dy", sign < 0 ? "0em" : ".71em").style("text-anchor", "middle");
8644+
pathUpdate.attr("d", "M" + range[0] + "," + sign * outerTickSize + "V0H" + range[1] + "V" + sign * outerTickSize);
8645+
} else {
8646+
tickTransform = d3_svg_axisY, x1 = "y", y1 = "x", x2 = "y2", y2 = "x2";
8647+
text.attr("dy", ".32em").style("text-anchor", sign < 0 ? "end" : "start");
8648+
pathUpdate.attr("d", "M" + sign * outerTickSize + "," + range[0] + "H0V" + range[1] + "H" + sign * outerTickSize);
8649+
}
8650+
lineEnter.attr(y2, sign * innerTickSize);
8651+
textEnter.attr(y1, sign * tickSpacing);
8652+
lineUpdate.attr(x2, 0).attr(y2, sign * innerTickSize);
8653+
textUpdate.attr(x1, 0).attr(y1, sign * tickSpacing);
86908654
if (scale1.rangeBand) {
86918655
var x = scale1, dx = x.rangeBand() / 2;
86928656
scale0 = scale1 = function(d) {

0 commit comments

Comments
 (0)