@antv/g2plot
Version:
G2 Plot, a market of plots built with the Grammar of Graphics'
68 lines • 2.62 kB
JavaScript
import { __assign, __extends } from "tslib";
import * as _ from '@antv/util';
import { registerPlotType } from '../../base/global';
import ConnectedArea from '../../components/connected-area';
import { getComponent } from '../../components/factory';
import BaseColumnLayer from '../column/layer';
import './component/label/stack-column-label';
var StackColumnLayer = /** @class */ (function (_super) {
__extends(StackColumnLayer, _super);
function StackColumnLayer() {
var _this = _super !== null && _super.apply(this, arguments) || this;
_this.type = 'stackColum';
return _this;
}
StackColumnLayer.getDefaultOptions = function () {
return _.deepMix({}, _super.getDefaultOptions.call(this), {
legend: {
visible: true,
position: 'right-top',
},
label: {
visible: false,
position: 'middle',
offset: 0,
adjustColor: true,
},
connectedArea: {
visible: false,
triggerOn: 'mouseenter',
},
});
};
StackColumnLayer.prototype.init = function () {
if (this.options.connectedArea.visible) {
this.options.tooltip.crosshairs = null;
}
_super.prototype.init.call(this);
};
StackColumnLayer.prototype.afterRender = function () {
var props = this.options;
// 绘制区域连接组件
if (props.connectedArea.visible) {
this.connectedArea = new ConnectedArea(__assign({ view: this.view, field: props.stackField, animation: props.animation === false ? false : true }, props.connectedArea));
}
_super.prototype.afterRender.call(this);
};
StackColumnLayer.prototype.adjustColumn = function (column) {
column.adjust = [
{
type: 'stack',
},
];
};
StackColumnLayer.prototype.extractLabel = function () {
var props = this.options;
var defaultOptions = this.getLabelOptionsByPosition(props.label.position);
var label = _.deepMix({}, defaultOptions, this.options.label);
if (label && label.visible === false) {
return false;
}
var labelConfig = getComponent('label', __assign({ plot: this, labelType: 'stackColumnLabel', fields: [props.yField] }, label));
return labelConfig;
};
return StackColumnLayer;
}(BaseColumnLayer));
export default StackColumnLayer;
registerPlotType('stackColumn', StackColumnLayer);
//# sourceMappingURL=layer.js.map