| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.getViewLegendItems = void 0;
- var g2_1 = require("@antv/g2");
- var util_1 = require("@antv/util");
- var utils_1 = require("../../../utils");
- var option_1 = require("./option");
- /**
- * 获取 view 的 legendItem,供存在不含有 seriesField 的图形使用
- * @param params
- */
- function getViewLegendItems(params) {
- var view = params.view, geometryOption = params.geometryOption, yField = params.yField, legend = params.legend;
- var userMarker = (0, util_1.get)(legend, 'marker');
- var geometry = (0, utils_1.findGeometry)(view, (0, option_1.isLine)(geometryOption) ? 'line' : 'interval');
- if (!geometryOption.seriesField) {
- var legendItemName = (0, util_1.get)(view, "options.scales.".concat(yField, ".alias")) || yField;
- // 返回 g2 设置的图例
- var colorAttribute = geometry.getAttribute('color');
- var color = view.getTheme().defaultColor;
- if (colorAttribute) {
- color = g2_1.Util.getMappingValue(colorAttribute, legendItemName, (0, util_1.get)(colorAttribute, ['values', 0], color));
- }
- var marker = ((0, util_1.isFunction)(userMarker)
- ? userMarker
- : !(0, util_1.isEmpty)(userMarker) &&
- (0, utils_1.deepAssign)({}, {
- style: {
- stroke: color,
- fill: color,
- },
- }, userMarker)) ||
- ((0, option_1.isLine)(geometryOption)
- ? {
- symbol: function (x, y, r) {
- return [
- ['M', x - r, y],
- ['L', x + r, y],
- ];
- },
- style: {
- lineWidth: 2,
- r: 6,
- stroke: color,
- },
- }
- : {
- symbol: 'square',
- style: {
- fill: color,
- },
- });
- return [
- {
- value: yField,
- name: legendItemName,
- marker: marker,
- isGeometry: true,
- viewId: view.id,
- },
- ];
- }
- var attributes = geometry.getGroupAttributes();
- return (0, util_1.reduce)(attributes, function (items, attr) {
- var attrItems = g2_1.Util.getLegendItems(view, geometry, attr, view.getTheme(), userMarker);
- return items.concat(attrItems);
- }, []);
- }
- exports.getViewLegendItems = getViewLegendItems;
- //# sourceMappingURL=legend.js.map
|