@antv/g2plot
Version:
G2 Plot, a market of plots built with the Grammar of Graphics'
62 lines • 2.32 kB
JavaScript
import { __extends } from "tslib";
import * as _ from '@antv/util';
import { registerPlotType } from '../../base/global';
import StackBar from '../stack-bar/layer';
import { transformDataPercentage } from '../../util/data';
var PercentageStackBarLayer = /** @class */ (function (_super) {
__extends(PercentageStackBarLayer, _super);
function PercentageStackBarLayer() {
var _this = _super !== null && _super.apply(this, arguments) || this;
_this.type = 'percentageStackBar';
return _this;
}
PercentageStackBarLayer.getDefaultOptions = function () {
return _.deepMix({}, _super.getDefaultOptions.call(this), {
xAxis: {
visible: true,
tickLine: {
visible: false,
},
grid: {
visible: false,
},
title: {
visible: true,
formatter: function (v) { return v + " (%)"; },
},
label: {
visible: false,
formatter: function (v) {
var reg = /%/gi;
return v.replace(reg, '');
},
},
},
});
};
PercentageStackBarLayer.prototype.processData = function (originData) {
var _a = this.options, xField = _a.xField, yField = _a.yField;
var processData = _super.prototype.processData.call(this, originData);
return transformDataPercentage(processData, yField, [xField]);
};
PercentageStackBarLayer.prototype.scale = function () {
var metaConfig = {};
var xField = this.options.xField;
metaConfig[xField] = {
tickCount: 6,
alias: xField + " (%)",
minLimit: 0,
maxLimit: 1,
formatter: function (v) {
var formattedValue = (v * 100).toFixed(1);
return formattedValue + "%";
},
};
this.options.meta = metaConfig;
_super.prototype.scale.call(this);
};
return PercentageStackBarLayer;
}(StackBar));
export default PercentageStackBarLayer;
registerPlotType('percentageStackBar', PercentageStackBarLayer);
//# sourceMappingURL=layer.js.map