drawdown-svg-render
Version:
Svg renderer for drawdown diagrams
47 lines (44 loc) • 5.92 kB
JavaScript
;
'use babel';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.arrowLabel = arrowLabel;
function arrowLabel(label, d, padding) {
if (d.textMeta) {
textMetaBasedLabel(label, d, padding);
} else {
pathMetaBasedLabel(label, d, padding);
}
}
function pathMetaBasedLabel(label, d, padding) {
label.html(d.label).attr('x', d.pathMeta.start.x).attr('y', d.pathMeta.start.y).attr('dx', function (d) {
if (['SSW', 'W', 'NNW'].indexOf(d.pathMeta.dir) >= 0) {
return -padding / 2;
} else {
return padding / 2;
}
}).attr('dy', function (d) {
if (['WNW', 'N', 'ENE'].indexOf(d.pathMeta.dir) >= 0) {
return -padding / 2;
} else {
return padding / 2;
}
}).attr('dominant-baseline', function (d) {
if (['WNW', 'N', 'ENE'].indexOf(d.pathMeta.dir) >= 0) {
return 'text-after-edge';
} else {
return 'text-before-edge';
}
}).attr('text-anchor', function (d) {
if (['SSW', 'W', 'NNW'].indexOf(d.pathMeta.dir) >= 0) {
return 'end';
} else {
return 'start';
}
});
}
function textMetaBasedLabel(label, d, padding) {
label.html(d.label).attr('x', d.textMeta.pos.x).attr('y', d.textMeta.pos.y).attr('dx', 0).attr('dy', 0).attr('dominant-baseline', d.textMeta.baseLine).attr('text-anchor', d.textMeta.textAnchor);
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9oZWxwZXJzL2Fycm93LWxhYmVsLmpzIl0sIm5hbWVzIjpbImFycm93TGFiZWwiLCJsYWJlbCIsImQiLCJwYWRkaW5nIiwidGV4dE1ldGEiLCJ0ZXh0TWV0YUJhc2VkTGFiZWwiLCJwYXRoTWV0YUJhc2VkTGFiZWwiLCJodG1sIiwiYXR0ciIsInBhdGhNZXRhIiwic3RhcnQiLCJ4IiwieSIsImluZGV4T2YiLCJkaXIiLCJwb3MiLCJiYXNlTGluZSIsInRleHRBbmNob3IiXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7UUFFZ0JBLFUsR0FBQUEsVTtBQUFULFNBQVNBLFVBQVQsQ0FBb0JDLEtBQXBCLEVBQTJCQyxDQUEzQixFQUE4QkMsT0FBOUIsRUFBdUM7QUFDNUMsTUFBSUQsRUFBRUUsUUFBTixFQUFnQjtBQUNkQyx1QkFBbUJKLEtBQW5CLEVBQTBCQyxDQUExQixFQUE2QkMsT0FBN0I7QUFDRCxHQUZELE1BRU87QUFDTEcsdUJBQW1CTCxLQUFuQixFQUEwQkMsQ0FBMUIsRUFBNkJDLE9BQTdCO0FBQ0Q7QUFDRjs7QUFHRCxTQUFTRyxrQkFBVCxDQUE0QkwsS0FBNUIsRUFBbUNDLENBQW5DLEVBQXNDQyxPQUF0QyxFQUErQztBQUM3Q0YsUUFBTU0sSUFBTixDQUFXTCxFQUFFRCxLQUFiLEVBQ0dPLElBREgsQ0FDUSxHQURSLEVBQ2FOLEVBQUVPLFFBQUYsQ0FBV0MsS0FBWCxDQUFpQkMsQ0FEOUIsRUFFR0gsSUFGSCxDQUVRLEdBRlIsRUFFYU4sRUFBRU8sUUFBRixDQUFXQyxLQUFYLENBQWlCRSxDQUY5QixFQUdHSixJQUhILENBR1EsSUFIUixFQUdjLGFBQUs7QUFDZixRQUFJLENBQUMsS0FBRCxFQUFRLEdBQVIsRUFBYSxLQUFiLEVBQW9CSyxPQUFwQixDQUE0QlgsRUFBRU8sUUFBRixDQUFXSyxHQUF2QyxLQUErQyxDQUFuRCxFQUFzRDtBQUNwRCxhQUFPLENBQUVYLE9BQUYsR0FBWSxDQUFuQjtBQUNELEtBRkQsTUFFTztBQUNMLGFBQU9BLFVBQVUsQ0FBakI7QUFDRDtBQUNGLEdBVEgsRUFVR0ssSUFWSCxDQVVRLElBVlIsRUFVYyxhQUFLO0FBQ2YsUUFBSSxDQUFDLEtBQUQsRUFBUSxHQUFSLEVBQWEsS0FBYixFQUFvQkssT0FBcEIsQ0FBNEJYLEVBQUVPLFFBQUYsQ0FBV0ssR0FBdkMsS0FBK0MsQ0FBbkQsRUFBc0Q7QUFDcEQsYUFBUSxDQUFFWCxPQUFGLEdBQVksQ0FBcEI7QUFDRCxLQUZELE1BRU87QUFDTCxhQUFPQSxVQUFVLENBQWpCO0FBQ0Q7QUFDRixHQWhCSCxFQWlCR0ssSUFqQkgsQ0FpQlEsbUJBakJSLEVBaUI2QixhQUFLO0FBQzlCLFFBQUksQ0FBQyxLQUFELEVBQVEsR0FBUixFQUFhLEtBQWIsRUFBb0JLLE9BQXBCLENBQTRCWCxFQUFFTyxRQUFGLENBQVdLLEdBQXZDLEtBQStDLENBQW5ELEVBQXNEO0FBQ3BELGFBQVEsaUJBQVI7QUFDRCxLQUZELE1BRU87QUFDTCxhQUFPLGtCQUFQO0FBQ0Q7QUFDRixHQXZCSCxFQXdCR04sSUF4QkgsQ0F3QlEsYUF4QlIsRUF3QnVCLGFBQUs7QUFDeEIsUUFBSSxDQUFDLEtBQUQsRUFBUSxHQUFSLEVBQWEsS0FBYixFQUFvQkssT0FBcEIsQ0FBNEJYLEVBQUVPLFFBQUYsQ0FBV0ssR0FBdkMsS0FBK0MsQ0FBbkQsRUFBc0Q7QUFDcEQsYUFBTyxLQUFQO0FBQ0QsS0FGRCxNQUVPO0FBQ0wsYUFBTyxPQUFQO0FBQ0Q7QUFDRixHQTlCSDtBQStCRDs7QUFFRCxTQUFTVCxrQkFBVCxDQUE0QkosS0FBNUIsRUFBbUNDLENBQW5DLEVBQXNDQyxPQUF0QyxFQUErQztBQUM3Q0YsUUFBTU0sSUFBTixDQUFXTCxFQUFFRCxLQUFiLEVBQ0dPLElBREgsQ0FDUSxHQURSLEVBQ2FOLEVBQUVFLFFBQUYsQ0FBV1csR0FBWCxDQUFlSixDQUQ1QixFQUVHSCxJQUZILENBRVEsR0FGUixFQUVhTixFQUFFRSxRQUFGLENBQVdXLEdBQVgsQ0FBZUgsQ0FGNUIsRUFHR0osSUFISCxDQUdRLElBSFIsRUFHYyxDQUhkLEVBSUdBLElBSkgsQ0FJUSxJQUpSLEVBSWMsQ0FKZCxFQUtHQSxJQUxILENBS1EsbUJBTFIsRUFLNkJOLEVBQUVFLFFBQUYsQ0FBV1ksUUFMeEMsRUFNR1IsSUFOSCxDQU1RLGFBTlIsRUFNdUJOLEVBQUVFLFFBQUYsQ0FBV2EsVUFObEM7QUFPRCIsImZpbGUiOiJhcnJvdy1sYWJlbC5qcyIsInNvdXJjZXNDb250ZW50IjpbIid1c2UgYmFiZWwnO1xuXG5leHBvcnQgZnVuY3Rpb24gYXJyb3dMYWJlbChsYWJlbCwgZCwgcGFkZGluZykge1xuICBpZiAoZC50ZXh0TWV0YSkge1xuICAgIHRleHRNZXRhQmFzZWRMYWJlbChsYWJlbCwgZCwgcGFkZGluZyk7XG4gIH0gZWxzZSB7XG4gICAgcGF0aE1ldGFCYXNlZExhYmVsKGxhYmVsLCBkLCBwYWRkaW5nKTtcbiAgfVxufVxuXG5cbmZ1bmN0aW9uIHBhdGhNZXRhQmFzZWRMYWJlbChsYWJlbCwgZCwgcGFkZGluZykge1xuICBsYWJlbC5odG1sKGQubGFiZWwpXG4gICAgLmF0dHIoJ3gnLCBkLnBhdGhNZXRhLnN0YXJ0LngpXG4gICAgLmF0dHIoJ3knLCBkLnBhdGhNZXRhLnN0YXJ0LnkpXG4gICAgLmF0dHIoJ2R4JywgZCA9PiB7XG4gICAgICBpZiAoWydTU1cnLCAnVycsICdOTlcnXS5pbmRleE9mKGQucGF0aE1ldGEuZGlyKSA+PSAwKSB7XG4gICAgICAgIHJldHVybiAtIHBhZGRpbmcgLyAyO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHBhZGRpbmcgLyAyO1xuICAgICAgfVxuICAgIH0pXG4gICAgLmF0dHIoJ2R5JywgZCA9PiB7XG4gICAgICBpZiAoWydXTlcnLCAnTicsICdFTkUnXS5pbmRleE9mKGQucGF0aE1ldGEuZGlyKSA+PSAwKSB7XG4gICAgICAgIHJldHVybiAgLSBwYWRkaW5nIC8gMjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBwYWRkaW5nIC8gMjtcbiAgICAgIH1cbiAgICB9KVxuICAgIC5hdHRyKCdkb21pbmFudC1iYXNlbGluZScsIGQgPT4ge1xuICAgICAgaWYgKFsnV05XJywgJ04nLCAnRU5FJ10uaW5kZXhPZihkLnBhdGhNZXRhLmRpcikgPj0gMCkge1xuICAgICAgICByZXR1cm4gICd0ZXh0LWFmdGVyLWVkZ2UnXG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gJ3RleHQtYmVmb3JlLWVkZ2UnO1xuICAgICAgfVxuICAgIH0pXG4gICAgLmF0dHIoJ3RleHQtYW5jaG9yJywgZCA9PiB7XG4gICAgICBpZiAoWydTU1cnLCAnVycsICdOTlcnXS5pbmRleE9mKGQucGF0aE1ldGEuZGlyKSA+PSAwKSB7XG4gICAgICAgIHJldHVybiAnZW5kJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiAnc3RhcnQnO1xuICAgICAgfVxuICAgIH0pXG59XG5cbmZ1bmN0aW9uIHRleHRNZXRhQmFzZWRMYWJlbChsYWJlbCwgZCwgcGFkZGluZykge1xuICBsYWJlbC5odG1sKGQubGFiZWwpXG4gICAgLmF0dHIoJ3gnLCBkLnRleHRNZXRhLnBvcy54KVxuICAgIC5hdHRyKCd5JywgZC50ZXh0TWV0YS5wb3MueSlcbiAgICAuYXR0cignZHgnLCAwKVxuICAgIC5hdHRyKCdkeScsIDApXG4gICAgLmF0dHIoJ2RvbWluYW50LWJhc2VsaW5lJywgZC50ZXh0TWV0YS5iYXNlTGluZSlcbiAgICAuYXR0cigndGV4dC1hbmNob3InLCBkLnRleHRNZXRhLnRleHRBbmNob3IpXG59XG4iXX0=