UNPKG

3.63 kBSource Map (JSON)View Raw
1{"version":3,"file":"area.js","sourceRoot":"","sources":["../../src/geometry/area.ts"],"names":[],"mappings":";;;AAAA,wCAA2C;AAE3C,wDAAuC;AACvC,wBAAsB;AActB;;;GAGG;AACH;IAAkC,gCAAI;IAcpC,cAAY,GAAY;QAAxB,YACE,kBAAM,GAAG,CAAC,SAMX;QApBe,UAAI,GAAW,MAAM,CAAC;QACtB,eAAS,GAAW,MAAM,CAAC;QAC3C,cAAc;QACE,oBAAc,GAAY,IAAI,CAAC;QAC/C;;;;;;WAMG;QACa,iBAAW,GAAY,IAAI,CAAC;QAKlC,IAAA,KAAkE,GAAG,YAAnD,EAAlB,WAAW,mBAAG,IAAI,KAAA,EAAE,KAA8C,GAAG,SAAjC,EAAhB,QAAQ,mBAAG,KAAK,KAAA,EAAE,KAA4B,GAAG,gBAAR,EAAvB,eAAe,mBAAG,KAAK,KAAA,CAAS;QAC9E,KAAI,CAAC,WAAW,GAAG,WAAW,CAAC,CAAC,WAAW;QAC3C,KAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC,gBAAgB;QAC1C,KAAI,CAAC,eAAe,GAAG,eAAe,CAAC;;IACzC,CAAC;IAED;;;OAGG;IACO,+BAAgB,GAA1B,UAA2B,WAA2B;QACpD,IAAM,MAAM,GAAG,EAAE,CAAC;QAClB,IAAM,IAAI,GAAG,EAAE,CAAC;QAEhB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;YACtD,IAAM,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACxB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,uBAAY,CAAC,CAAC,CAAC;SAC9B;QAED,OAAO;YACL,MAAM,QAAA;YACN,IAAI,MAAA;SACL,CAAC;IACJ,CAAC;IAED;;;OAGG;IACO,2BAAY,GAAtB;QACE,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,OAAO,iBAAM,YAAY,WAAE,CAAC;SAC7B;QACD,IAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,OAAO,MAAM,CAAC,GAAG,CAAC;IACpB,CAAC;IACH,WAAC;AAAD,CAAC,AAtDD,CAAkC,cAAI,GAsDrC","sourcesContent":["import { FIELD_ORIGIN } from '../constant';\nimport { MappingDatum } from '../interface';\nimport Path, { PathCfg } from './path';\nimport './shape/area';\n\n/** Area 几何标记构造函数参数 */\nexport interface AreaCfg extends PathCfg {\n /**\n * 面积图是否从 0 基准线开始填充。\n * 1. 默认值为 `true`,表现如下:\n * ![image](https://gw.alipayobjects.com/zos/rmsportal/ZQqwUCczalrKqGgagOVp.png)\n * 2. 当值为 `false` 时,表现如下:\n * ![image](https://gw.alipayobjects.com/zos/rmsportal/yPswkaXvUpCYOdhocGwB.png)\n */\n startOnZero?: boolean;\n}\n\n/**\n * Area 几何标记类。\n * 常用于绘制面积图。\n */\nexport default class Area extends Path {\n public readonly type: string = 'area';\n public readonly shapeType: string = 'area';\n /** 生成图形关键点 */\n public readonly generatePoints: boolean = true;\n /**\n * 面积图是否从 0 基准线开始填充。\n * 1. 默认值为 `true`,表现如下:\n * ![image](https://gw.alipayobjects.com/zos/rmsportal/ZQqwUCczalrKqGgagOVp.png)\n * 2. 当值为 `false` 时,表现如下:\n * ![image](https://gw.alipayobjects.com/zos/rmsportal/yPswkaXvUpCYOdhocGwB.png)\n */\n public readonly startOnZero: boolean = true;\n\n constructor(cfg: AreaCfg) {\n super(cfg);\n\n const { startOnZero = true, sortable = false, showSinglePoint = false } = cfg;\n this.startOnZero = startOnZero; // 默认为 true\n this.sortable = sortable; // 关闭默认的 X 轴数据排序\n this.showSinglePoint = showSinglePoint;\n }\n\n /**\n * 获取图形绘制的关键点以及数据\n * @param mappingData 映射后的数据\n */\n protected getPointsAndData(mappingData: MappingDatum[]) {\n const points = [];\n const data = [];\n\n for (let i = 0, len = mappingData.length; i < len; i++) {\n const obj = mappingData[i];\n points.push(obj.points);\n data.push(obj[FIELD_ORIGIN]);\n }\n\n return {\n points,\n data,\n };\n }\n\n /**\n * 获取 Y 轴上的最小值\n * @returns y 字段最小值\n */\n protected getYMinValue(): number {\n if (this.startOnZero) {\n return super.getYMinValue();\n }\n const yScale = this.getYScale();\n return yScale.min;\n }\n}\n"]}
\No newline at end of file