UNPKG

3.25 kBSource Map (JSON)View Raw
1{"version":3,"file":"line.js","sourceRoot":"","sources":["../../../../src/geometry/shape/interval/line.ts"],"names":[],"mappings":";;;AAAA,mCAAqC;AAIrC,gCAAwC;AACxC,+CAA6C;AAC7C,+BAAqC;AACrC,+CAA4C;AAE5C,sBAAsB;AACtB,SAAS,aAAa,CAAC,SAAqB;IAClC,IAAA,CAAC,GAAY,SAAS,EAArB,EAAE,CAAC,GAAS,SAAS,EAAlB,EAAE,EAAE,GAAK,SAAS,GAAd,CAAe;IAE/B,IAAI,IAAA,cAAO,EAAC,CAAC,CAAC,EAAE;QACd,OAAO,CAAC,CAAC,GAAG,CAAC,UAAC,KAAK,EAAE,GAAG;YACtB,OAAO;gBACL,CAAC,EAAE,IAAA,cAAO,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1B,CAAC,EAAE,KAAK;aACT,CAAC;QACJ,CAAC,CAAC,CAAC;KACJ;IAED,aAAa;IACb,OAAO;QACL,EAAE,CAAC,EAAE,CAAW,EAAE,CAAC,EAAE,EAAE,EAAE;QACzB,EAAE,CAAC,EAAE,CAAW,EAAE,CAAC,GAAA,EAAE;KACtB,CAAC;AACJ,CAAC;AAED,IAAA,oBAAa,EAAC,UAAU,EAAE,MAAM,EAAE;IAChC,SAAS,YAAC,UAAsB;QAC9B,OAAO,aAAa,CAAC,UAAU,CAAC,CAAC;IACnC,CAAC;IACD,IAAI,YAAC,GAAc,EAAE,SAAiB;QACpC,IAAM,KAAK,GAAG,IAAA,oBAAQ,EAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;QACtD,IAAM,QAAQ,GAAG,IAAA,aAAI,uBAAM,KAAK,GAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9C,IAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAA,kBAAW,EAAC,GAAG,CAAC,MAAiB,EAAE,KAAK,CAAC,CAAC,CAAC;QACvE,IAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE;YACvC,KAAK,wCACA,QAAQ,KACX,IAAI,MAAA,GACL;YACD,IAAI,EAAE,UAAU;SACjB,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC;IACf,CAAC;IACD,SAAS,YAAC,SAAyB;QACzB,IAAA,KAAK,GAAK,SAAS,MAAd,CAAe;QAC5B,OAAO;YACL,MAAM,EAAE,UAAC,CAAS,EAAE,CAAS,EAAE,CAAS;gBACtC,OAAO;oBACL,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;oBACf,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;iBAChB,CAAC;YACJ,CAAC;YACD,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC;gBACJ,MAAM,EAAE,KAAK;aACd;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC","sourcesContent":["import { isArray } from '@antv/util';\nimport { IGroup } from '../../../dependents';\nimport { Point, ShapeInfo, ShapeMarkerCfg, ShapePoint } from '../../../interface';\n\nimport { registerShape } from '../base';\nimport { getStyle } from '../util/get-style';\nimport { getRectPath } from './util';\nimport { omit } from '../../../util/helper';\n\n// 根据数据点生成 Line 的两个关键点\nfunction getLinePoints(pointInfo: ShapePoint): Point[] {\n const { x, y, y0 } = pointInfo;\n\n if (isArray(y)) {\n return y.map((yItem, idx) => {\n return {\n x: isArray(x) ? x[idx] : x,\n y: yItem,\n };\n });\n }\n\n // 起始点从 y0 开始\n return [\n { x: x as number, y: y0 },\n { x: x as number, y },\n ];\n}\n\nregisterShape('interval', 'line', {\n getPoints(shapePoint: ShapePoint) {\n return getLinePoints(shapePoint);\n },\n draw(cfg: ShapeInfo, container: IGroup) {\n const style = getStyle(cfg, true, false, 'lineWidth');\n const newStyle = omit({ ...style }, ['fill']);\n const path = this.parsePath(getRectPath(cfg.points as Point[], false));\n const shape = container.addShape('path', {\n attrs: {\n ...newStyle,\n path,\n },\n name: 'interval',\n });\n\n return shape;\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: (x: number, y: number, r: number) => {\n return [\n ['M', x, y - r],\n ['L', x, y + r],\n ];\n },\n style: {\n r: 5,\n stroke: color,\n },\n };\n },\n});\n"]}
\No newline at end of file