{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plots/funnel/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAGlC,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EACL,eAAe,EACf,mBAAmB,IAAI,yBAAyB,EAChD,cAAc,EACd,oBAAoB,GACrB,MAAM,YAAY,CAAC;AACpB,OAAO,gBAAgB,CAAC;AAIxB,OAAO,EAAE,yBAAyB,EAAE,CAAC;AAErC;IAA4B,0BAAmB;IAA/C;QAAA,qEAgEC;QA/DC,WAAW;QACJ,UAAI,GAAW,QAAQ,CAAC;;IA8DjC,CAAC;IA5DQ,wBAAiB,GAAxB;QACE,OAAO,eAAe,CAAC;IACzB,CAAC;IAUD;;OAEG;IACO,kCAAiB,GAA3B;QACE,6HAA6H;QAC7H,OAAO,MAAM,CAAC,iBAAiB,EAAE,CAAC;IACpC,CAAC;IAED;;OAEG;IACO,iCAAgB,GAA1B;QACE,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;OAKG;IACI,yBAAQ,GAAf,UAAgB,IAAe,EAAE,SAAyB,EAAE,MAAsB;QAAtB,uBAAA,EAAA,aAAsB;QAChF,IAAM,QAAQ,GAAG,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEvD,IAAI,CAAC,QAAQ,EAAE,UAAC,GAAY;YAC1B,IAAI,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,EAAE;gBAC5B,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;aAC5B;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACI,0BAAS,GAAhB;QACE,IAAM,QAAQ,GAAG,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEvD,IAAM,YAAY,GAAkB,EAAE,CAAC;QACvC,IAAI,CAAC,QAAQ,EAAE,UAAC,OAAgB;YAC9B,IAAM,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;YAC/B,IAAM,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;YACnC,IAAI,CAAC,MAAM,EAAE,UAAC,KAAK;gBACjB,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,MAAA,EAAE,KAAK,OAAA,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,SAAA,EAAE,CAAC,CAAC;YAC1E,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,YAAY,CAAC;IACtB,CAAC;IAvDD,OAAO;IACP,gBAAgB;IACT,yBAAkB,GAAG,yBAAyB,CAAC;IACtD,gBAAgB;IACT,oBAAa,GAAG,cAAc,CAAC;IACtC,oBAAoB;IACb,0BAAmB,GAAG,oBAAoB,CAAC;IAkDpD,aAAC;CAAA,AAhED,CAA4B,IAAI,GAgE/B;SAhEY,MAAM","sourcesContent":["import { Element } from '@antv/g2';\nimport { each } from '@antv/util';\nimport { StateCondition, StateName, StateObject } from '../..';\nimport { Adaptor } from '../../core/adaptor';\nimport { Plot } from '../../core/plot';\nimport { getAllElementsRecursively } from '../../utils';\nimport { adaptor } from './adaptor';\nimport {\n DEFAULT_OPTIONS,\n FUNNEL_CONVERSATION as FUNNEL_CONVERSATION_FIELD,\n FUNNEL_PERCENT,\n FUNNEL_TOTAL_PERCENT,\n} from './constant';\nimport './interactions';\nimport { FunnelOptions } from './types';\n\nexport type { FunnelOptions };\nexport { FUNNEL_CONVERSATION_FIELD };\n\nexport class Funnel extends Plot {\n /** 图表类型 */\n public type: string = 'funnel';\n\n static getDefaultOptions(): Partial {\n return DEFAULT_OPTIONS;\n }\n\n // 内部变量\n /** 漏斗 转化率 字段 */\n static CONVERSATION_FIELD = FUNNEL_CONVERSATION_FIELD;\n /** 漏斗 百分比 字段 */\n static PERCENT_FIELD = FUNNEL_PERCENT;\n /** 漏斗 总转换率百分比 字段 */\n static TOTAL_PERCENT_FIELD = FUNNEL_TOTAL_PERCENT;\n\n /**\n * 获取 漏斗图 默认配置项\n */\n protected getDefaultOptions(): Partial {\n // 由于不同漏斗图 defaultOption 有部分逻辑不同,此处仅处理 core.getDefaultOptions 覆盖范围,funnel 的 defaulOption 为不分散逻辑统一写到 adaptor 的 defaultOption 中\n return Funnel.getDefaultOptions();\n }\n\n /**\n * 获取 漏斗图 的适配器\n */\n protected getSchemaAdaptor(): Adaptor {\n return adaptor;\n }\n\n /**\n * 设置状态\n * @param type 状态类型,支持 'active' | 'inactive' | 'selected' 三种\n * @param conditions 条件,支持数组\n * @param status 是否激活,默认 true\n */\n public setState(type: StateName, condition: StateCondition, status: boolean = true) {\n const elements = getAllElementsRecursively(this.chart);\n\n each(elements, (ele: Element) => {\n if (condition(ele.getData())) {\n ele.setState(type, status);\n }\n });\n }\n\n /**\n * 获取状态\n */\n public getStates(): StateObject[] {\n const elements = getAllElementsRecursively(this.chart);\n\n const stateObjects: StateObject[] = [];\n each(elements, (element: Element) => {\n const data = element.getData();\n const states = element.getStates();\n each(states, (state) => {\n stateObjects.push({ data, state, geometry: element.geometry, element });\n });\n });\n\n return stateObjects;\n }\n}\n"]}