NuclearDispersionSystem/ant-design-vue-jeecg/node_modules/@antv/g2/esm/chart/controller/tooltip.js.map
2023-09-14 14:47:11 +08:00

1 line
38 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{"version":3,"file":"tooltip.js","sourceRoot":"","sources":["../../../src/chart/controller/tooltip.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACzG,OAAO,EAAE,SAAS,EAAE,WAAW,EAAU,MAAM,kBAAkB,CAAC;AAGlE,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAClG,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC,2FAA2F;AAC3F,SAAS,IAAI,CAAC,KAAK;IACjB,IAAM,SAAS,GAAG,EAAE,CAAC;4BACZ,KAAK;QACZ,IAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,UAAC,OAAO;YACrC,OAAO,CACL,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK;gBAC5B,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI;gBAC1B,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK;gBAC5B,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAC7B,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,EAAE;YACX,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACtB;;IAZH,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE;gBAAxC,KAAK;KAab;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,cAAc;AACd;IAAqC,2BAAyB;IAA9D;QAAA,qEAopBC;QA5oBS,cAAQ,GAAY,KAAK,CAAC;QAC1B,eAAS,GAAY,IAAI,CAAC;;IA2oBpC,CAAC;IAtoBC,sBAAW,yBAAI;aAAf;YACE,OAAO,SAAS,CAAC;QACnB,CAAC;;;OAAA;IAEM,sBAAI,GAAX,cAAgB,CAAC;IAEV,wBAAM,GAAb;QACE,IAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC;QAC9C,IAAI,CAAC,SAAS,GAAG,MAAM,KAAK,KAAK,CAAC;IACpC,CAAC;IAED;;;OAGG;IACI,6BAAW,GAAlB,UAAmB,KAAY;QAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,6BAA6B;YAClD,OAAO;SACR;QACD,IAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,IAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YACjB,0BAA0B;YAC1B,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,OAAO;SACR;QACD,IAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACnC,IAAM,SAAS,GAAG;YAChB,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACb,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;SACd,CAAC,CAAC,QAAQ;QAEX,IAAI,CAAC,IAAI,CAAC,cAAc,aACtB,KAAK,OAAA;YACL,KAAK,OAAA,IACF,KAAK,EACR,CAAC;QAEH,IAAM,GAAG,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACzB,IAAA,MAAM,GAAuD,GAAG,OAA1D,EAAE,WAAW,GAA0C,GAAG,YAA7C,EAAE,cAAc,GAA0B,GAAG,eAA7B,EAAE,WAAW,GAAa,GAAG,YAAhB,EAAE,MAAM,GAAK,GAAG,OAAR,CAAS;QACzE,IAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;QAC7B,IAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;QAC7B,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE;YAC5D,oBAAoB;YACpB,IAAI,CAAC,IAAI,CAAC,gBAAgB,aACxB,KAAK,OAAA;gBACL,KAAK,OAAA,IACF,KAAK,EACR,CAAC;YAEH,IAAI,WAAW,EAAE;gBACf,4BAA4B;gBAC5B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;oBACjB,OAAO;oBACP,IAAI,CAAC,aAAa,EAAE,CAAC;iBACtB;gBACD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE;oBAC/B,KAAK,OAAA;oBACL,KAAK,OAAA;iBACN,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACzB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;aACrB;YAED,IAAI,WAAW,EAAE;gBACf,wCAAwC;gBACxC,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;aAC1C;SACF;aAAM;YACL,gBAAgB;YAChB,IAAI,IAAI,CAAC,OAAO,IAAI,MAAM,EAAE;gBAC1B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,0BAA0B;aAChD;YAED,IAAI,IAAI,CAAC,mBAAmB,EAAE;gBAC5B,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC;aACjC;SACF;QAED,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,IAAI,cAAc,EAAE;YAClB,iBAAiB;YACjB,IAAM,wBAAwB,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,aAAa;YACzF,IAAI,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;SAC1E;IACH,CAAC;IAEM,6BAAW,GAAlB;QACU,IAAA,MAAM,GAAK,IAAI,CAAC,aAAa,EAAE,OAAzB,CAA0B;QACxC,IAAI,CAAC,MAAM,EAAE;YACX,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,OAAO;SACR;QACD,0BAA0B;QAC1B,IAAM,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACrD,IAAI,mBAAmB,EAAE;YACvB,mBAAmB,CAAC,IAAI,EAAE,CAAC;SAC5B;QAED,kBAAkB;QAClB,IAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,IAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,IAAI,UAAU,EAAE;YACd,UAAU,CAAC,IAAI,EAAE,CAAC;SACnB;QACD,IAAI,UAAU,EAAE;YACd,UAAU,CAAC,IAAI,EAAE,CAAC;SACnB;QAED,IAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,OAAO,EAAE;YACX,OAAO,CAAC,IAAI,EAAE,CAAC;SAChB;QAED,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED;;OAEG;IACI,6BAAW,GAAlB;QACE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,0BAA0B;YAC1B,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;SAC/B;IACH,CAAC;IAED;;OAEG;IACI,+BAAa,GAApB;QACE,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAM,GAAG,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACjC,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,gBAAgB;YAChB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;SACtC;IACH,CAAC;IAED;;OAEG;IACI,iCAAe,GAAtB;QACE,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAEM,uBAAK,GAAZ;QACQ,IAAA,KAA2D,IAAI,EAA7D,OAAO,aAAA,EAAE,UAAU,gBAAA,EAAE,UAAU,gBAAA,EAAE,mBAAmB,yBAAS,CAAC;QACtE,IAAI,OAAO,EAAE;YACX,OAAO,CAAC,IAAI,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,EAAE,CAAC;SACjB;QAED,IAAI,UAAU,EAAE;YACd,UAAU,CAAC,KAAK,EAAE,CAAC;SACpB;QAED,IAAI,UAAU,EAAE;YACd,UAAU,CAAC,KAAK,EAAE,CAAC;SACpB;QAED,IAAI,mBAAmB,EAAE;YACvB,mBAAmB,CAAC,KAAK,EAAE,CAAC;SAC7B;IACH,CAAC;IAEM,yBAAO,GAAd;QACE,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;SACxB;QACD,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;SAC3B;QACD,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;SAC3B;QAED,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SAC9B;QAED,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;QACnC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAEM,+BAAa,GAApB,UAAqB,OAAgB;QACnC,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,EAAE;YAC5B,OAAO;SACR;QACK,IAAA,KAA2D,IAAI,EAA7D,OAAO,aAAA,EAAE,mBAAmB,yBAAA,EAAE,UAAU,gBAAA,EAAE,UAAU,gBAAS,CAAC;QACtE,IAAI,OAAO,EAAE;YACX,IAAI,OAAO,EAAE;gBACX,OAAO,CAAC,IAAI,EAAE,CAAC;aAChB;YACD,IAAI,mBAAmB,EAAE;gBACvB,mBAAmB,CAAC,IAAI,EAAE,CAAC;aAC5B;YACD,IAAI,UAAU,EAAE;gBACd,UAAU,CAAC,IAAI,EAAE,CAAC;aACnB;YACD,IAAI,UAAU,EAAE;gBACd,UAAU,CAAC,IAAI,EAAE,CAAC;aACnB;SACF;aAAM;YACL,IAAI,OAAO,EAAE;gBACX,OAAO,CAAC,IAAI,EAAE,CAAC;aAChB;YACD,IAAI,mBAAmB,EAAE;gBACvB,mBAAmB,CAAC,IAAI,EAAE,CAAC;aAC5B;YACD,IAAI,UAAU,EAAE;gBACd,UAAU,CAAC,IAAI,EAAE,CAAC;aACnB;YACD,IAAI,UAAU,EAAE;gBACd,UAAU,CAAC,IAAI,EAAE,CAAC;aACnB;SACF;QACD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAEM,iCAAe,GAAtB,UAAuB,KAAY;QACjC,IAAI,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACrD,IAAI,KAAK,CAAC,MAAM,EAAE;YAChB,KAAK;YACL,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;YACvB,KAAsB,UAAK,EAAL,eAAK,EAAL,mBAAK,EAAL,IAAK,EAAE;gBAAxB,IAAM,OAAO,cAAA;gBAChB,KAAmB,UAAO,EAAP,mBAAO,EAAP,qBAAO,EAAP,IAAO,EAAE;oBAAvB,IAAM,IAAI,gBAAA;oBACP,IAAA,KAAW,IAAI,CAAC,WAAW,EAAzB,CAAC,OAAA,EAAE,CAAC,OAAqB,CAAC;oBAClC,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC1C,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC3C;aACF;YAEO,IAAA,MAAM,GAAK,IAAI,CAAC,aAAa,EAAE,OAAzB,CAA0B;YACxC,gFAAgF;YAChF,IAAI,MAAM,KAAK,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBACxC,IAAI,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACxB,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5C,KAAoB,UAAK,EAAL,eAAK,EAAL,mBAAK,EAAL,IAAK,EAAE;oBAAtB,IAAM,KAAK,cAAA;oBACd,IAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACjD,IAAI,SAAS,IAAI,GAAG,EAAE;wBACpB,QAAQ,GAAG,KAAK,CAAC;wBACjB,GAAG,GAAG,SAAS,CAAC;qBACjB;iBACF;gBACD,KAAK,GAAG,CAAC,QAAQ,CAAC,CAAC;aACpB;YAED,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;SAC7B;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAEM,wBAAM,GAAb,cAAkB,CAAC;IACZ,wBAAM,GAAb;QACE,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC9B;IACH,CAAC;IAED,qEAAqE;IAC7D,+BAAa,GAArB;QACE,IAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,IAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC;QACzC,IAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,IAAM,UAAU,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7D,IAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAC1G,OAAO,OAAO,CAAC,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE;YACrC,OAAO,EAAE,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;SACnD,CAAC,CAAC;IACL,CAAC;IAEO,0BAAQ,GAAhB,UAAiB,KAAK;QACpB,IAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,+BAAa,GAArB;QACE,IAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QACrC,IAAM,MAAM,GAAG;YACb,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;YACrB,GAAG,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;SACzD,CAAC;QAEF,IAAM,GAAG,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACjC,IAAM,OAAO,GAAG,IAAI,WAAW,qBAC7B,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,UAAU,EACnC,MAAM,QAAA,IACH,GAAG,KACN,OAAO,EAAE,KAAK,EACd,UAAU,EAAE,IAAI,IAChB,CAAC;QAEH,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAEO,sCAAoB,GAA5B,UAA6B,KAAK,EAAE,MAAM;QACxC,IAAM,mBAAmB,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC1D,KAAmB,UAAK,EAAL,eAAK,EAAL,mBAAK,EAAL,IAAK,EAAE;YAArB,IAAM,IAAI,cAAA;YACL,IAAA,CAAC,GAAQ,IAAI,EAAZ,EAAE,CAAC,GAAK,IAAI,EAAT,CAAU;YACtB,IAAM,KAAK,uBACT,IAAI,EAAE,IAAI,CAAC,KAAK,EAChB,MAAM,EAAE,QAAQ,EAChB,WAAW,EAAE,IAAI,CAAC,KAAK,IACpB,MAAM,KACT,CAAC,GAAA;gBACD,CAAC,GAAA,GACF,CAAC;YAEF,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,EAAE;gBACrC,KAAK,OAAA;aACN,CAAC,CAAC;SACJ;IACH,CAAC;IAEO,kCAAgB,GAAxB,UAAyB,KAAY,EAAE,GAAG;QACxC,IAAM,cAAc,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,gBAAgB;QAC9E,IAAI,cAAc,KAAK,GAAG,EAAE;YAC1B,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;aACxB;YACD,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;SACpC;aAAM,IAAI,cAAc,KAAK,GAAG,EAAE;YACjC,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;aACxB;YACD,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;SACpC;aAAM,IAAI,cAAc,KAAK,IAAI,EAAE;YAClC,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACnC,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;SACpC;IACH,CAAC;IAED,uBAAuB;IACf,mCAAiB,GAAzB,UAA0B,KAAY,EAAE,UAAU;QAChD,IAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC;QACvE,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE;YAC3C,OAAO;SACR;QACD,IAAI,KAAK,CAAC;QACV,IAAI,GAAG,CAAC;QACR,IAAI,UAAU,CAAC,MAAM,EAAE;YACrB,IAAI,UAAU,CAAC,YAAY,EAAE;gBAC3B,KAAK,GAAG;oBACN,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;oBACrB,CAAC,EAAE,KAAK,CAAC,CAAC;iBACX,CAAC;gBACF,GAAG,GAAG;oBACJ,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;oBACnB,CAAC,EAAE,KAAK,CAAC,CAAC;iBACX,CAAC;aACH;iBAAM;gBACL,KAAK,GAAG;oBACN,CAAC,EAAE,KAAK,CAAC,CAAC;oBACV,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;iBACpB,CAAC;gBACF,GAAG,GAAG;oBACJ,CAAC,EAAE,KAAK,CAAC,CAAC;oBACV,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;iBACtB,CAAC;aACH;SACF;aAAM;YACL,8BAA8B;YAC9B,IAAM,KAAK,GAAG,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YACjD,IAAM,MAAM,GAAG,UAAU,CAAC,SAAS,EAAE,CAAC;YACtC,IAAM,MAAM,GAAG,UAAU,CAAC,SAAS,EAAE,CAAC;YACtC,GAAG,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YAC1D,KAAK,GAAG,MAAM,CAAC;SAChB;QAED,IAAM,GAAG,GAAG,OAAO,CAAC;YAClB,KAAK,OAAA;YACL,GAAG,KAAA;YACH,SAAS,EAAE,IAAI,CAAC,yBAAyB,EAAE;SAC5C,EAAE,GAAG,CAAC,UAAU,EAAE,YAAY,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;QACtF,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,8BAA8B;QAE/C,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACjC,IAAI,UAAU,EAAE;YACd,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SACxB;aAAM;YACL,UAAU,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACrC,UAAU,CAAC,IAAI,EAAE,CAAC;SACnB;QACD,UAAU,CAAC,MAAM,EAAE,CAAC;QACpB,UAAU,CAAC,IAAI,EAAE,CAAC;QAClB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,cAAc;IACN,mCAAiB,GAAzB,UAA0B,KAAY,EAAE,UAAU;QAChD,IAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC;QACvE,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE;YAC3C,OAAO;SACR;QACD,IAAI,GAAG,CAAC;QACR,IAAI,IAAI,CAAC;QACT,IAAI,UAAU,CAAC,MAAM,EAAE;YACrB,IAAI,KAAK,SAAA,CAAC;YACV,IAAI,GAAG,SAAA,CAAC;YACR,IAAI,UAAU,CAAC,YAAY,EAAE;gBAC3B,KAAK,GAAG;oBACN,CAAC,EAAE,KAAK,CAAC,CAAC;oBACV,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;iBACpB,CAAC;gBACF,GAAG,GAAG;oBACJ,CAAC,EAAE,KAAK,CAAC,CAAC;oBACV,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;iBACtB,CAAC;aACH;iBAAM;gBACL,KAAK,GAAG;oBACN,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;oBACrB,CAAC,EAAE,KAAK,CAAC,CAAC;iBACX,CAAC;gBACF,GAAG,GAAG;oBACJ,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;oBACnB,CAAC,EAAE,KAAK,CAAC,CAAC;iBACX,CAAC;aACH;YACD,GAAG,GAAG;gBACJ,KAAK,OAAA;gBACL,GAAG,KAAA;aACJ,CAAC;YACF,IAAI,GAAG,MAAM,CAAC;SACf;aAAM;YACL,8BAA8B;YAC9B,GAAG,GAAG;gBACJ,MAAM,EAAE,UAAU,CAAC,SAAS,EAAE;gBAC9B,aAAa;gBACb,MAAM,EAAE,mBAAmB,CAAC,UAAU,EAAE,KAAK,CAAC;gBAC9C,UAAU,EAAE,UAAU,CAAC,UAAU;gBACjC,QAAQ,EAAE,UAAU,CAAC,QAAQ;aAC9B,CAAC;YACF,IAAI,GAAG,QAAQ,CAAC;SACjB;QAED,GAAG,GAAG,OAAO,CAAC;YACZ,SAAS,EAAE,IAAI,CAAC,yBAAyB,EAAE;SAC5C,EAAE,GAAG,EAAE,GAAG,CAAC,UAAU,EAAE,YAAY,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;QAC3F,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,8BAA8B;QAE/C,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACjC,IAAI,UAAU,EAAE;YACd,wBAAwB;YACxB,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC;mBACzD,CAAC,CAAC,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,EAAE;gBAC9D,UAAU,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBACtC,UAAU,CAAC,IAAI,EAAE,CAAC;aACnB;iBAAM;gBACL,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;aACxB;SACF;aAAM;YACL,UAAU,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YACtC,UAAU,CAAC,IAAI,EAAE,CAAC;SACnB;QACD,UAAU,CAAC,MAAM,EAAE,CAAC;QACpB,UAAU,CAAC,IAAI,EAAE,CAAC;QAClB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAEO,mCAAiB,GAAzB,UAA0B,IAAI,EAAE,KAAY,EAAE,UAAU;QACtD,IAAI,OAAO,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;QACtD,IAAM,MAAM,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;QACzD,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAEzB,IAAI,OAAO,EAAE;YACX,IAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjD,SAAS;YACT,IAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAC3B,IAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAChC,IAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,MAAM,SAAA,CAAC;YACX,IAAI,MAAM,SAAA,CAAC;YACX,IAAI,MAAM,EAAE;gBACV,iCAAiC;gBACjC,IAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5D,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;gBAChD,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;aACjD;iBAAM;gBACL,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACtC,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aACvC;YAED,IAAM,OAAO,GAAG,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;YAC/C,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE;gBACvB,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;aAChD;iBAAM;gBACL,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;aAC3B;YAED,OAAO;gBACL,IAAI,EAAE,OAAO;aACd,CAAC;SACH;IACH,CAAC;IAED,uCAAuC;IAC/B,+BAAa,GAArB;QACE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,IAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC;YAClD,IAAI,CAAC,UAAU,GAAG,eAAe,CAAC,QAAQ,CAAC;gBACzC,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE,KAAK;aACf,CAAC,CAAC;SACJ;QAED,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,0BAA0B;IAClB,wCAAsB,GAA9B;QACE,IAAI,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACnD,IAAI,mBAAmB,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE;YACzD,mBAAmB,CAAC,KAAK,EAAE,CAAC;YAC5B,mBAAmB,CAAC,IAAI,EAAE,CAAC;SAC5B;aAAM;YACL,mBAAmB,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC;gBAClD,IAAI,EAAE,qBAAqB;aAC5B,CAAC,CAAC;YACH,mBAAmB,CAAC,OAAO,EAAE,CAAC;YAC9B,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;SAChD;QACD,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED,8BAA8B;IACtB,2CAAyB,GAAjC;QACE,IAAI,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,CAAC;QACzD,IAAI,CAAC,sBAAsB,EAAE;YAC3B,sBAAsB,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC;gBACrD,IAAI,EAAE,wBAAwB;gBAC9B,OAAO,EAAE,KAAK;aACf,CAAC,CAAC;YACH,sBAAsB,CAAC,MAAM,EAAE,CAAC;YAChC,IAAI,CAAC,sBAAsB,GAAG,sBAAsB,CAAC;SACtD;QACD,OAAO,sBAAsB,CAAC;IAChC,CAAC;IAEO,2CAAyB,GAAjC,UAAkC,QAAQ,EAAE,KAAK,EAAE,KAAK;QACtD,IAAM,MAAM,GAAG,EAAE,CAAC;QAClB,IAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;QACrC,IAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QACnD,IAAI,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YACxD,IAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC;YACpD,IAAM,KAAK,GAAG,eAAe,CAAC,WAAW,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;YAC5D,IAAI,KAAK,CAAC,MAAM,EAAE;gBAChB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACpB;SACF;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,2CAAyB,GAAjC,UAAkC,QAAkB,EAAE,KAAK,EAAE,KAAK;QAChE,IAAM,MAAM,GAAG,EAAE,CAAC;QAClB,IAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;QACrC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,sBAAsB;QAChD,KAAmB,UAAS,EAAT,uBAAS,EAAT,uBAAS,EAAT,IAAS,EAAE;YAAzB,IAAM,IAAI,kBAAA;YACb,IAAM,MAAM,GAAG,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YACtD,IAAI,MAAM,EAAE;gBACV,IAAM,SAAS,GAAG,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;gBAChD,IAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gBAChD,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,OAAO,EAAE;oBAClD,qBAAqB;oBACrB,gCAAgC;oBAChC,IAAM,KAAK,GAAG,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;oBACvD,IAAI,KAAK,CAAC,MAAM,EAAE;wBAChB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;qBACpB;iBACF;aACF;SACF;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,mCAAiB,GAAzB,UAA0B,IAAI,EAAE,KAAK;QACnC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC,OAAO,KAAK,KAAK,EAAE;YACvC,sBAAsB;YACtB,OAAO,EAAE,CAAC;SACX;QAED,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,eAAe;QACf,IAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAC7B,IAAA,KAAoB,IAAI,CAAC,aAAa,EAAE,EAAtC,MAAM,YAAA,EAAE,KAAK,WAAyB,CAAC;QAC/C,KAAuB,UAAU,EAAV,yBAAU,EAAV,wBAAU,EAAV,IAAU,EAAE;YAA9B,IAAM,QAAQ,mBAAA;YACjB,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,aAAa,KAAK,KAAK,EAAE;gBACxD,2BAA2B;gBAC3B,IAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC;gBACnC,IAAI,YAAY,SAAA,CAAC;gBACjB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;oBACvD,WAAW;oBACX,YAAY,GAAG,IAAI,CAAC,yBAAyB,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;iBACvE;qBAAM,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;oBACrE,kDAAkD;oBAClD,YAAY,GAAG,IAAI,CAAC,yBAAyB,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;iBACvE;qBAAM;oBACL,IAAI,MAAM,KAAK,KAAK,EAAE;wBACpB,YAAY,GAAG,IAAI,CAAC,yBAAyB,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;qBACvE;yBAAM;wBACL,YAAY,GAAG,IAAI,CAAC,yBAAyB,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;qBACvE;iBACF;gBACD,IAAI,YAAY,CAAC,MAAM,EAAE;oBACvB,2DAA2D;oBAC3D,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;iBAC3B;aACF;SACF;QAED,aAAa;QACb,KAAwB,UAAU,EAAV,KAAA,IAAI,CAAC,KAAK,EAAV,cAAU,EAAV,IAAU,EAAE;YAA/B,IAAM,SAAS,SAAA;YAClB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;SAClE;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,iBAAiB;IACjB,qFAAqF;IAC7E,qCAAmB,GAA3B,UAA4B,IAAI;QAAhC,iBAMC;QALC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;YAC1B,OAAO,IAAI,CAAC;SACb;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,UAAC,SAAS,IAAK,OAAA,KAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAnC,CAAmC,CAAC,CAAC;IAC9E,CAAC;IACH,cAAC;AAAD,CAAC,AAppBD,CAAqC,UAAU,GAopB9C","sourcesContent":["import { deepMix, find, flatten, get, isArray, isEqual, isFunction, isUndefined, mix } from '@antv/util';\nimport { Crosshair, HtmlTooltip, IGroup } from '../../dependents';\nimport Geometry from '../../geometry/base';\nimport { Point, TooltipOption } from '../../interface';\nimport { getAngleByPoint, getDistanceToCenter, isPointInCoordinate } from '../../util/coordinate';\nimport { polarToCartesian } from '../../util/graphics';\nimport { findDataByPoint, getTooltipItems } from '../../util/tooltip';\nimport { Controller } from './base';\n\n// Filter duplicates, use `name`, `color`, `value` and `title` property values as condition\nfunction uniq(items) {\n const uniqItems = [];\n for (let index = 0; index < items.length; index++) {\n const item = items[index];\n const result = find(uniqItems, (subItem) => {\n return (\n subItem.color === item.color &&\n subItem.name === item.name &&\n subItem.value === item.value &&\n subItem.title === item.title\n );\n });\n if (!result) {\n uniqItems.push(item);\n }\n }\n return uniqItems;\n}\n\n/** @ignore */\nexport default class Tooltip extends Controller<TooltipOption> {\n private tooltip;\n private tooltipMarkersGroup: IGroup;\n private tooltipCrosshairsGroup: IGroup;\n private xCrosshair;\n private yCrosshair;\n private guideGroup: IGroup;\n\n private isLocked: boolean = false;\n private isVisible: boolean = true;\n private items;\n private title: string;\n private point: Point;\n\n public get name(): string {\n return 'tooltip';\n }\n\n public init() { }\n\n public render() {\n const option = this.view.getOptions().tooltip;\n this.isVisible = option !== false;\n }\n\n /**\n * Shows tooltip\n * @param point\n */\n public showTooltip(point: Point) {\n this.point = point;\n if (!this.isVisible) { // 如果设置 tooltip(false) 则始终不显示\n return;\n }\n const view = this.view;\n const items = this.getTooltipItems(point);\n if (!items.length) {\n // 无内容则不展示,同时 tooltip 需要隐藏\n this.hideTooltip();\n return;\n }\n const title = this.getTitle(items);\n const dataPoint = {\n x: items[0].x,\n y: items[0].y,\n }; // 数据点位置\n\n view.emit('tooltip:show', {\n items,\n title,\n ...point,\n });\n\n const cfg = this.getTooltipCfg();\n const { follow, showMarkers, showCrosshairs, showContent, marker } = cfg;\n const lastItems = this.items;\n const lastTitle = this.title;\n if (!isEqual(lastTitle, title) || !isEqual(lastItems, items)) {\n // 内容发生变化了更新 tooltip\n view.emit('tooltip:change', {\n items,\n title,\n ...point,\n });\n\n if (showContent) {\n // 展示 tooltip 内容框才渲染 tooltip\n if (!this.tooltip) {\n // 延迟生成\n this.renderTooltip();\n }\n this.tooltip.update(mix({}, cfg, {\n items,\n title,\n }, follow ? point : {}));\n this.tooltip.show();\n }\n\n if (showMarkers) {\n // 展示 tooltipMarkerstooltipMarkers 跟随数据\n this.renderTooltipMarkers(items, marker);\n }\n } else {\n // 内容未发生变化,则更新位置\n if (this.tooltip && follow) {\n this.tooltip.update(point);\n this.tooltip.show(); // tooltip 有可能被隐藏,需要保证显示状态\n }\n\n if (this.tooltipMarkersGroup) {\n this.tooltipMarkersGroup.show();\n }\n }\n\n this.items = items;\n this.title = title;\n\n if (showCrosshairs) {\n // 展示 tooltip 辅助线\n const isCrosshairsFollowCursor = get(cfg, ['crosshairs', 'follow'], false); // 辅助线是否要跟随鼠标\n this.renderCrosshairs(isCrosshairsFollowCursor ? point : dataPoint, cfg);\n }\n }\n\n public hideTooltip() {\n const { follow } = this.getTooltipCfg();\n if (!follow) {\n this.point = null;\n return;\n }\n // hide the tooltipMarkers\n const tooltipMarkersGroup = this.tooltipMarkersGroup;\n if (tooltipMarkersGroup) {\n tooltipMarkersGroup.hide();\n }\n\n // hide crosshairs\n const xCrosshair = this.xCrosshair;\n const yCrosshair = this.yCrosshair;\n if (xCrosshair) {\n xCrosshair.hide();\n }\n if (yCrosshair) {\n yCrosshair.hide();\n }\n\n const tooltip = this.tooltip;\n if (tooltip) {\n tooltip.hide();\n }\n\n this.view.emit('tooltip:hide', {});\n this.point = null;\n }\n\n /**\n * lockTooltip\n */\n public lockTooltip() {\n this.isLocked = true;\n if (this.tooltip) {\n // tooltip contianer 可捕获事件\n this.tooltip.setCapture(true);\n }\n }\n\n /**\n * unlockTooltip\n */\n public unlockTooltip() {\n this.isLocked = false;\n const cfg = this.getTooltipCfg();\n if (this.tooltip) {\n // 重置 capture 属性\n this.tooltip.setCapture(cfg.capture);\n }\n }\n\n /**\n * isTooltipLocked\n */\n public isTooltipLocked() {\n return this.isLocked;\n }\n\n public clear() {\n const { tooltip, xCrosshair, yCrosshair, tooltipMarkersGroup } = this;\n if (tooltip) {\n tooltip.hide();\n tooltip.clear();\n }\n\n if (xCrosshair) {\n xCrosshair.clear();\n }\n\n if (yCrosshair) {\n yCrosshair.clear();\n }\n\n if (tooltipMarkersGroup) {\n tooltipMarkersGroup.clear();\n }\n }\n\n public destroy() {\n if (this.tooltip) {\n this.tooltip.destroy();\n }\n if (this.xCrosshair) {\n this.xCrosshair.destroy();\n }\n if (this.yCrosshair) {\n this.yCrosshair.destroy();\n }\n\n if (this.guideGroup) {\n this.guideGroup.remove(true);\n }\n\n this.items = null;\n this.title = null;\n this.tooltipMarkersGroup = null;\n this.tooltipCrosshairsGroup = null;\n this.xCrosshair = null;\n this.yCrosshair = null;\n this.tooltip = null;\n this.guideGroup = null;\n this.isLocked = false;\n this.point = null;\n }\n\n public changeVisible(visible: boolean) {\n if (this.visible === visible) {\n return;\n }\n const { tooltip, tooltipMarkersGroup, xCrosshair, yCrosshair } = this;\n if (visible) {\n if (tooltip) {\n tooltip.show();\n }\n if (tooltipMarkersGroup) {\n tooltipMarkersGroup.show();\n }\n if (xCrosshair) {\n xCrosshair.show();\n }\n if (yCrosshair) {\n yCrosshair.show();\n }\n } else {\n if (tooltip) {\n tooltip.hide();\n }\n if (tooltipMarkersGroup) {\n tooltipMarkersGroup.hide();\n }\n if (xCrosshair) {\n xCrosshair.hide();\n }\n if (yCrosshair) {\n yCrosshair.hide();\n }\n }\n this.visible = visible;\n }\n\n public getTooltipItems(point: Point) {\n let items = this.findItemsFromView(this.view, point);\n if (items.length) {\n // 三层\n items = flatten(items);\n for (const itemArr of items) {\n for (const item of itemArr) {\n const { x, y } = item.mappingData;\n item.x = isArray(x) ? x[x.length - 1] : x;\n item.y = isArray(y) ? y[y.length - 1] : y;\n }\n }\n\n const { shared } = this.getTooltipCfg();\n // shared: false 代表只显示当前拾取到的 shape 的数据,但是一个 view 会有多个 Geometry所以有可能会拾取到多个 shape\n if (shared === false && items.length > 1) {\n let snapItem = items[0];\n let min = Math.abs(point.y - snapItem[0].y);\n for (const aItem of items) {\n const yDistance = Math.abs(point.y - aItem[0].y);\n if (yDistance <= min) {\n snapItem = aItem;\n min = yDistance;\n }\n }\n items = [snapItem];\n }\n\n return uniq(flatten(items));\n }\n\n return [];\n }\n\n public layout() { }\n public update() {\n if (this.point) {\n this.showTooltip(this.point);\n }\n }\n\n // 获取 tooltip 配置,因为用户可能会通过 view.tooltip() 重新配置 tooltip所以就不做缓存每次直接读取\n private getTooltipCfg() {\n const view = this.view;\n const option = view.getOptions().tooltip;\n const theme = view.getTheme();\n const defaultCfg = get(theme, ['components', 'tooltip'], {});\n const enterable = isUndefined(get(option, 'enterable')) ? defaultCfg.enterable : get(option, 'enterable');\n return deepMix({}, defaultCfg, option, {\n capture: enterable || this.isLocked ? true : false,\n });\n }\n\n private getTitle(items) {\n const title = items[0].title || items[0].name;\n this.title = title;\n\n return title;\n }\n\n private renderTooltip() {\n const canvas = this.view.getCanvas();\n const region = {\n start: { x: 0, y: 0 },\n end: { x: canvas.get('width'), y: canvas.get('height') },\n };\n\n const cfg = this.getTooltipCfg();\n const tooltip = new HtmlTooltip({\n parent: canvas.get('el').parentNode,\n region,\n ...cfg,\n visible: false,\n crosshairs: null,\n });\n\n tooltip.init();\n this.tooltip = tooltip;\n }\n\n private renderTooltipMarkers(items, marker) {\n const tooltipMarkersGroup = this.getTooltipMarkersGroup();\n for (const item of items) {\n const { x, y } = item;\n const attrs = {\n fill: item.color,\n symbol: 'circle',\n shadowColor: item.color,\n ...marker,\n x,\n y,\n };\n\n tooltipMarkersGroup.addShape('marker', {\n attrs,\n });\n }\n }\n\n private renderCrosshairs(point: Point, cfg) {\n const crosshairsType = get(cfg, ['crosshairs', 'type'], 'x'); // 默认展示 x 轴上的辅助线\n if (crosshairsType === 'x') {\n if (this.yCrosshair) {\n this.yCrosshair.hide();\n }\n this.renderXCrosshairs(point, cfg);\n } else if (crosshairsType === 'y') {\n if (this.xCrosshair) {\n this.xCrosshair.hide();\n }\n this.renderYCrosshairs(point, cfg);\n } else if (crosshairsType === 'xy') {\n this.renderXCrosshairs(point, cfg);\n this.renderYCrosshairs(point, cfg);\n }\n }\n\n // 渲染 x 轴上的 tooltip 辅助线\n private renderXCrosshairs(point: Point, tooltipCfg) {\n const coordinate = this.getViewWithGeometry(this.view).getCoordinate();\n if (!isPointInCoordinate(coordinate, point)) {\n return;\n }\n let start;\n let end;\n if (coordinate.isRect) {\n if (coordinate.isTransposed) {\n start = {\n x: coordinate.start.x,\n y: point.y,\n };\n end = {\n x: coordinate.end.x,\n y: point.y,\n };\n } else {\n start = {\n x: point.x,\n y: coordinate.end.y,\n };\n end = {\n x: point.x,\n y: coordinate.start.y,\n };\n }\n } else {\n // 极坐标下 x 轴上的 crosshairs 表现为半径\n const angle = getAngleByPoint(coordinate, point);\n const center = coordinate.getCenter();\n const radius = coordinate.getRadius();\n end = polarToCartesian(center.x, center.y, radius, angle);\n start = center;\n }\n\n const cfg = deepMix({\n start,\n end,\n container: this.getTooltipCrosshairsGroup(),\n }, get(tooltipCfg, 'crosshairs', {}), this.getCrosshairsText('x', point, tooltipCfg));\n delete cfg.type; // 与 Crosshairs 组件的 type 冲突故删除\n\n let xCrosshair = this.xCrosshair;\n if (xCrosshair) {\n xCrosshair.update(cfg);\n } else {\n xCrosshair = new Crosshair.Line(cfg);\n xCrosshair.init();\n }\n xCrosshair.render();\n xCrosshair.show();\n this.xCrosshair = xCrosshair;\n }\n\n // 渲染 y 轴上的辅助线\n private renderYCrosshairs(point: Point, tooltipCfg) {\n const coordinate = this.getViewWithGeometry(this.view).getCoordinate();\n if (!isPointInCoordinate(coordinate, point)) {\n return;\n }\n let cfg;\n let type;\n if (coordinate.isRect) {\n let start;\n let end;\n if (coordinate.isTransposed) {\n start = {\n x: point.x,\n y: coordinate.end.y,\n };\n end = {\n x: point.x,\n y: coordinate.start.y,\n };\n } else {\n start = {\n x: coordinate.start.x,\n y: point.y,\n };\n end = {\n x: coordinate.end.x,\n y: point.y,\n };\n }\n cfg = {\n start,\n end,\n };\n type = 'Line';\n } else {\n // 极坐标下 y 轴上的 crosshairs 表现为圆弧\n cfg = {\n center: coordinate.getCenter(),\n // @ts-ignore\n radius: getDistanceToCenter(coordinate, point),\n startAngle: coordinate.startAngle,\n endAngle: coordinate.endAngle,\n };\n type = 'Circle';\n }\n\n cfg = deepMix({\n container: this.getTooltipCrosshairsGroup()\n }, cfg, get(tooltipCfg, 'crosshairs', {}), this.getCrosshairsText('y', point, tooltipCfg));\n delete cfg.type; // 与 Crosshairs 组件的 type 冲突故删除\n\n let yCrosshair = this.yCrosshair;\n if (yCrosshair) {\n // 如果坐标系发生直角坐标系与极坐标的切换操作\n if ((coordinate.isRect && yCrosshair.get('type') === 'circle')\n || (!coordinate.isRect && yCrosshair.get('type') === 'line')) {\n yCrosshair = new Crosshair[type](cfg);\n yCrosshair.init();\n } else {\n yCrosshair.update(cfg);\n }\n } else {\n yCrosshair = new Crosshair[type](cfg);\n yCrosshair.init();\n }\n yCrosshair.render();\n yCrosshair.show();\n this.yCrosshair = yCrosshair;\n }\n\n private getCrosshairsText(type, point: Point, tooltipCfg) {\n let textCfg = get(tooltipCfg, ['crosshairs', 'text']);\n const follow = get(tooltipCfg, ['crosshairs', 'follow']);\n const items = this.items;\n\n if (textCfg) {\n const view = this.getViewWithGeometry(this.view);\n // 需要展示文本\n const firstItem = items[0];\n const xScale = view.getXScale();\n const yScale = view.getYScales()[0];\n let xValue;\n let yValue;\n if (follow) {\n // 如果需要跟随鼠标移动,就需要将当前鼠标坐标点转换为对应的数值\n const invertPoint = this.view.getCoordinate().invert(point);\n xValue = xScale.invert(invertPoint.x); // 转换为原始值\n yValue = yScale.invert(invertPoint.y); // 转换为原始值\n } else {\n xValue = firstItem.data[xScale.field];\n yValue = firstItem.data[yScale.field];\n }\n\n const content = type === 'x' ? xValue : yValue;\n if (isFunction(textCfg)) {\n textCfg = textCfg(type, content, items, point);\n } else {\n textCfg.content = content;\n }\n\n return {\n text: textCfg,\n };\n }\n }\n\n // 获取存储 tooltipMarkers 和 crosshairs 的容器\n private getGuideGroup() {\n if (!this.guideGroup) {\n const foregroundGroup = this.view.foregroundGroup;\n this.guideGroup = foregroundGroup.addGroup({\n name: 'tooltipGuide',\n capture: false,\n });\n }\n\n return this.guideGroup;\n }\n\n // 获取 tooltipMarkers 存储的容器\n private getTooltipMarkersGroup() {\n let tooltipMarkersGroup = this.tooltipMarkersGroup;\n if (tooltipMarkersGroup && !tooltipMarkersGroup.destroyed) {\n tooltipMarkersGroup.clear();\n tooltipMarkersGroup.show();\n } else {\n tooltipMarkersGroup = this.getGuideGroup().addGroup({\n name: 'tooltipMarkersGroup',\n });\n tooltipMarkersGroup.toFront();\n this.tooltipMarkersGroup = tooltipMarkersGroup;\n }\n return tooltipMarkersGroup;\n }\n\n // 获取 tooltip crosshairs 存储的容器\n private getTooltipCrosshairsGroup() {\n let tooltipCrosshairsGroup = this.tooltipCrosshairsGroup;\n if (!tooltipCrosshairsGroup) {\n tooltipCrosshairsGroup = this.getGuideGroup().addGroup({\n name: 'tooltipCrosshairsGroup',\n capture: false,\n });\n tooltipCrosshairsGroup.toBack();\n this.tooltipCrosshairsGroup = tooltipCrosshairsGroup;\n }\n return tooltipCrosshairsGroup;\n }\n\n private getTooltipItemsByHitShape(geometry, point, title) {\n const result = [];\n const container = geometry.container;\n const shape = container.getShape(point.x, point.y);\n if (shape && shape.get('visible') && shape.get('origin')) {\n const mappingData = shape.get('origin').mappingData;\n const items = getTooltipItems(mappingData, geometry, title);\n if (items.length) {\n result.push(items);\n }\n }\n\n return result;\n }\n\n private getTooltipItemsByFindData(geometry: Geometry, point, title) {\n const result = [];\n const dataArray = geometry.dataArray;\n geometry.sort(dataArray); // 先进行排序,便于 tooltip 查找\n for (const data of dataArray) {\n const record = findDataByPoint(point, data, geometry);\n if (record) {\n const elementId = geometry.getElementId(record);\n const element = geometry.elementsMap[elementId];\n if (geometry.type === 'heatmap' || element.visible) {\n // Heatmap 没有 Element\n // 如果图形元素隐藏了,怎不再 tooltip 上展示相关数据\n const items = getTooltipItems(record, geometry, title);\n if (items.length) {\n result.push(items);\n }\n }\n }\n }\n\n return result;\n }\n\n private findItemsFromView(view, point) {\n if (view.getOptions().tooltip === false) {\n // 如果 view 关闭了 tooltip\n return [];\n }\n\n let result = [];\n // 先从 view 本身查找\n const geometries = view.geometries;\n const { shared, title } = this.getTooltipCfg();\n for (const geometry of geometries) {\n if (geometry.visible && geometry.tooltipOption !== false) {\n // geometry 可见同时未关闭 tooltip\n const geometryType = geometry.type;\n let tooltipItems;\n if (['point', 'edge', 'polygon'].includes(geometryType)) {\n // 始终通过图形拾取\n tooltipItems = this.getTooltipItemsByHitShape(geometry, point, title);\n } else if (['area', 'line', 'path', 'heatmap'].includes(geometryType)) {\n // 如果是 'area', 'line', 'path',始终通过数据查找方法查找 tooltip\n tooltipItems = this.getTooltipItemsByFindData(geometry, point, title);\n } else {\n if (shared !== false) {\n tooltipItems = this.getTooltipItemsByFindData(geometry, point, title);\n } else {\n tooltipItems = this.getTooltipItemsByHitShape(geometry, point, title);\n }\n }\n if (tooltipItems.length) {\n // geometry 有可能会有多个 item因为用户可以设置 geometry.tooltip('x*y*z')\n result.push(tooltipItems);\n }\n }\n }\n\n // 递归查找,并合并结果\n for (const childView of view.views) {\n result = result.concat(this.findItemsFromView(childView, point));\n }\n\n return result;\n }\n\n // FIXME: hack 方法\n // 因为 tooltip 的交互是挂载在 Chart 上所以当chart 上没有绘制 Geometry 的时候,就查找不到数据,并且绘图区域同子 View 的区域不同\n private getViewWithGeometry(view) {\n if (view.geometries.length) {\n return view;\n }\n\n return find(view.views, (childView) => this.getViewWithGeometry(childView));\n }\n}\n"]}