@antv/g2plot
Version:
G2 Plot, a market of plots built with the Grammar of Graphics'
80 lines • 2.62 kB
JavaScript
import { __extends } from "tslib";
import * as _ from '@antv/util';
import { registerPlotType } from '../../base/global';
import BaseBarLayer from '../bar/layer';
var GroupBarLayer = /** @class */ (function (_super) {
__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;
}(BaseBarLayer));
export default GroupBarLayer;
registerPlotType('groupBar', GroupBarLayer);
//# sourceMappingURL=layer.js.map