1 line
6.6 KiB
Plaintext
1 line
6.6 KiB
Plaintext
{"version":3,"file":"matrix.js","sourceRoot":"","sources":["../../src/facet/matrix.ts"],"names":[],"mappings":"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","sourcesContent":["import { deepMix, each } from '@antv/util';\nimport { DIRECTION } from '../constant';\nimport { AxisCfg, Datum, MatrixCfg, MatrixData } from '../interface';\n\nimport View from '../chart/view';\nimport { getFactTitleConfig } from '../util/facet';\nimport { Facet } from './facet';\n\n/**\n * @ignore\n * 镜像分面\n */\nexport default class Matrix extends Facet<MatrixCfg, MatrixData> {\n protected getDefaultCfg() {\n return deepMix({}, super.getDefaultCfg(), {\n type: 'matrix',\n showTitle: false,\n columnTitle: {\n ...super.getDefaultTitleCfg(),\n },\n rowTitle: {\n ...super.getDefaultTitleCfg(),\n }\n });\n }\n\n public render() {\n super.render();\n\n if (this.cfg.showTitle) {\n this.renderTitle();\n }\n }\n\n protected afterEachView(view: View, facet: MatrixData) {\n this.processAxis(view, facet);\n }\n\n protected beforeEachView(view: View, facet: MatrixData) {\n }\n\n protected generateFacets(data: Datum[]): MatrixData[] {\n const { fields, type } = this.cfg;\n\n // 矩阵中行列相等,等于指定的字段个数\n const rowValuesLength = fields.length;\n const columnValuesLength = rowValuesLength;\n\n const rst = [];\n for (let i = 0; i < columnValuesLength; i ++) {\n const columnField = fields[i];\n for (let j = 0; j < rowValuesLength; j ++) {\n const rowField = fields[j];\n\n const facet: MatrixData = {\n type,\n data,\n region: this.getRegion(rowValuesLength, columnValuesLength, i, j),\n\n columnValue: columnField,\n rowValue: rowField,\n columnField,\n rowField,\n columnIndex: i,\n rowIndex: j,\n columnValuesLength,\n rowValuesLength,\n };\n rst.push(facet);\n }\n }\n return rst;\n }\n\n /**\n * 设置 x 坐标轴的文本、title 是否显示\n * @param x\n * @param axes\n * @param option\n * @param facet\n */\n protected getXAxisOption(x: string, axes: any, option: AxisCfg, facet: MatrixData): object {\n // 最后一行显示\n if (facet.rowIndex !== facet.rowValuesLength - 1) {\n return {\n ...option,\n label: null,\n title: null,\n };\n }\n return option;\n }\n\n\n /**\n * 设置 y 坐标轴的文本、title 是否显示\n * @param y\n * @param axes\n * @param option\n * @param facet\n */\n protected getYAxisOption(y: string, axes: any, option: AxisCfg, facet: MatrixData): object {\n // 第一列显示\n if (facet.columnIndex !== 0) {\n return {\n ...option,\n title: null,\n label: null,\n };\n }\n return option;\n }\n\n /**\n * facet title\n */\n private renderTitle() {\n each(this.facets, (facet: MatrixData, facetIndex: number) => {\n const { columnIndex, rowIndex, columnValuesLength, rowValuesLength, columnValue, rowValue, view } = facet;\n\n // top\n if (rowIndex === 0) {\n const config = deepMix({\n position: [ '50%', '0%' ] as [string, string],\n content: columnValue,\n }, getFactTitleConfig(DIRECTION.TOP), this.cfg.columnTitle);\n\n view.annotation().text(config);\n }\n // right\n if (columnIndex === columnValuesLength - 1) {\n const config = deepMix({\n position: [ '100%', '50%' ] as [string, string],\n content: rowValue,\n }, getFactTitleConfig(DIRECTION.RIGHT), this.cfg.rowTitle);\n\n view.annotation().text(config);\n }\n });\n }\n}\n"]} |