{"version":3,"file":"shape.js","sourceRoot":"","sources":["../../../src/plots/waterfall/shape.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAS,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAEjC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC;;;GAGG;AACH,SAAS,WAAW,CAAC,MAAe;IAClC,IAAM,IAAI,GAAG,EAAE,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACtC,IAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,KAAK,EAAE;YACT,IAAM,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;SACvC;KACF;IAED,IAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACxB,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAEjB,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,SAAS,YAAY,CAAC,GAAoB;IACxC,OAAO,UAAU,CAAC,EAAE,EAAE,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;AAC1E,CAAC;AAED,aAAa,CAAC,UAAU,EAAE,WAAW,EAAE;IACrC,IAAI,YAAC,GAA+D,EAAE,SAAiB;QAC7E,IAAA,UAAU,GAAyB,GAAG,WAA5B,EAAE,MAAM,GAAiB,GAAG,OAApB,EAAE,UAAU,GAAK,GAAG,WAAR,CAAS;QAE/C,IAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;QAEnC,SAAS;QACT,IAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;QACrD,IAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;QAEpC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE;YACrB,KAAK,wBACA,SAAS,KACZ,IAAI,EAAE,QAAQ,GACf;SACF,CAAC,CAAC;QAEH,UAAU;QACV,IAAM,aAAa,GAAG,GAAG,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QACpD,IAAI,aAAa,IAAI,UAAU,EAAE;YAC/B,IAAI,QAAQ,GAAG;gBACb,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/B,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACxC,CAAC;YAEF,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;gBACnC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACvD;YAED,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YACpC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE;gBACrB,KAAK,aACH,IAAI,EAAE,QAAQ,IACX,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE,CAAC,CAC/B;aACF,CAAC,CAAC;SACJ;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CACF,CAAC,CAAC","sourcesContent":["import { IGroup } from '@antv/g-base';\nimport { registerShape, Types } from '@antv/g2';\nimport { get } from '@antv/util';\nimport { Point } from '../../types';\nimport { deepAssign } from '../../utils';\n\n/**\n * 获取柱子 path\n * @param points\n */\nfunction getRectPath(points: Point[]) {\n const path = [];\n for (let i = 0; i < points.length; i++) {\n const point = points[i];\n if (point) {\n const action = i === 0 ? 'M' : 'L';\n path.push([action, point.x, point.y]);\n }\n }\n\n const first = points[0];\n path.push(['L', first.x, first.y]);\n path.push(['z']);\n\n return path;\n}\n\n/**\n * 获取填充属性\n * @param cfg 图形绘制数据\n */\nfunction getFillAttrs(cfg: Types.ShapeInfo) {\n return deepAssign({}, cfg.defaultStyle, cfg.style, { fill: cfg.color });\n}\n\nregisterShape('interval', 'waterfall', {\n draw(cfg: Types.ShapeInfo & { points: Point[]; nextPoints: Point[] }, container: IGroup) {\n const { customInfo, points, nextPoints } = cfg;\n\n const group = container.addGroup();\n\n // ① 绘制柱体\n const rectPath = this.parsePath(getRectPath(points));\n const fillAttrs = getFillAttrs(cfg);\n\n group.addShape('path', {\n attrs: {\n ...fillAttrs,\n path: rectPath,\n },\n });\n\n // ② 绘制连接线\n const leaderLineCfg = get(customInfo, 'leaderLine');\n if (leaderLineCfg && nextPoints) {\n let linkPath = [\n ['M', points[2].x, points[2].y],\n ['L', nextPoints[0].x, nextPoints[0].y],\n ];\n\n if (points[2].y === nextPoints[1].y) {\n linkPath[1] = ['L', nextPoints[1].x, nextPoints[1].y];\n }\n\n linkPath = this.parsePath(linkPath);\n group.addShape('path', {\n attrs: {\n path: linkPath,\n ...(leaderLineCfg.style || {}),\n },\n });\n }\n\n return group;\n },\n});\n"]}