@antv/g2plot
Version:
G2 Plot, a market of plots built with the Grammar of Graphics'
37 lines • 1.45 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var g2_1 = require("@antv/g2");
var _ = tslib_1.__importStar(require("@antv/util"));
var column_label_1 = require("../../../column/component/label/column-label");
var layer_1 = require("../../layer");
var WaterfallLabels = /** @class */ (function (_super) {
tslib_1.__extends(WaterfallLabels, _super);
function WaterfallLabels() {
return _super !== null && _super.apply(this, arguments) || this;
}
WaterfallLabels.prototype.adjustPosition = function (label, shape, item) {
var MARGIN = 2;
var shapeBox = shape.getBBox();
var origin = label.get('origin');
var yField = item.fields[0];
var values = origin[layer_1.VALUE_FIELD];
var diff = origin[yField];
var value = _.isArray(values) ? values[1] : values;
var yPos = (shapeBox.minY + shapeBox.maxY) / 2;
var textBaseline = 'bottom';
if (diff < 0) {
yPos = shapeBox.maxY + MARGIN;
textBaseline = 'top';
}
else {
yPos = shapeBox.minY - MARGIN;
}
label.attr('y', yPos);
label.attr('text', value);
label.attr('textBaseline', textBaseline);
};
return WaterfallLabels;
}(column_label_1.ColumnLabels));
g2_1.registerElementLabels('waterfall', WaterfallLabels);
//# sourceMappingURL=waterfall-label.js.map