@antv/g2plot
Version:
G2 Plot, a market of plots built with the Grammar of Graphics'
82 lines • 2.75 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var _ = tslib_1.__importStar(require("@antv/util"));
var global_1 = require("../../base/global");
var layer_1 = tslib_1.__importDefault(require("../bar/layer"));
var GroupBarLayer = /** @class */ (function (_super) {
tslib_1.__extends(GroupBarLayer, _super);
function GroupBarLayer() {
var _this = _super !== null && _super.apply(this, arguments) || this;
_this.type = 'groupBar';
return _this;
}
GroupBarLayer.getDefaultOptions = function () {
return _.deepMix({}, _super.getDefaultOptions.call(this), {
xAxis: {
visible: true,
grid: {
visible: true,
},
},
yAxis: {
visible: true,
title: {
visible: false,
},
},
label: {
visible: true,
position: 'right',
offset: 8,
adjustColor: true,
},
legend: {
visible: true,
position: 'right-top',
},
});
};
GroupBarLayer.prototype.afterRender = function () {
_super.prototype.afterRender.call(this);
var names = _.valuesOfKey(this.options.data, this.options.groupField);
this.view.on('tooltip:change', function (e) {
var items = e.items;
var origin_items = _.clone(items);
for (var i = 0; i < names.length; i++) {
var name_1 = names[i];
for (var j = 0; j < origin_items.length; j++) {
var item = origin_items[j];
if (item.name === name_1) {
e.items[i] = item;
}
}
}
});
};
GroupBarLayer.prototype.scale = function () {
var defaultMeta = {};
defaultMeta[this.options.groupField] = {
values: _.valuesOfKey(this.options.data, this.options.groupField),
};
if (!this.options.meta) {
this.options.meta = defaultMeta;
}
else {
this.options.meta = _.deepMix({}, this.options.meta, defaultMeta);
}
_super.prototype.scale.call(this);
};
GroupBarLayer.prototype.adjustBar = function (bar) {
bar.adjust = [
{
type: 'dodge',
marginRatio: 0.1,
},
];
};
return GroupBarLayer;
}(layer_1.default));
exports.default = GroupBarLayer;
global_1.registerPlotType('groupBar', GroupBarLayer);
//# sourceMappingURL=layer.js.map