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

1 line
31 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":"legend.js","sourceRoot":"","sources":["../../../src/chart/controller/legend.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAE7E,OAAO,EAAE,6BAA6B,EAAE,cAAc,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACjG,OAAO,EAAa,cAAc,EAAE,gBAAgB,EAAuC,MAAM,kBAAkB,CAAC;AAGpH,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC1F,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAMpC;;;;;GAKG;AACH,SAAS,eAAe,CAAC,OAA+C,EAAE,KAAa;IACrF,IAAI,SAAS,CAAC,OAAO,CAAC,EAAE;QACtB,OAAO,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;KACvC;IAED,OAAO,GAAG,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,YAAY,CAAC,YAAiB;IACrC,OAAO,GAAG,CAAC,YAAY,EAAE,UAAU,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;AACzD,CAAC;AAED;;;GAGG;AACH;IAAoC,0BAAkB;IAMpD,gBAAY,IAAU;QAAtB,YACE,kBAAM,IAAI,CAAC,SAGZ;QADC,KAAI,CAAC,SAAS,GAAG,KAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;;IAC7D,CAAC;IAED,sBAAW,wBAAI;aAAf;YACE,OAAO,QAAQ,CAAC;QAClB,CAAC;;;OAAA;IAEM,qBAAI,GAAX,cAAgB,CAAC;IAEjB;;OAEG;IACI,uBAAM,GAAb;QAAA,iBAqCC;QApCC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC;QAE7C,IAAM,YAAY,GAAG,UAAC,QAAkB,EAAE,IAAe,EAAE,KAAY;YACrE,IAAM,MAAM,GAAG,KAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YAE7D,IAAI,MAAM,EAAE;gBACT,MAAM,CAAC,SAA4B,CAAC,IAAI,EAAE,CAAC;gBAC5C,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aAC9B;QACH,CAAC,CAAC;QAEF,UAAU;QACV,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE;YAC9B,IAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CACvC,SAAS,EAAE,SAAS,EAAE,SAAS,EAC/B,IAAI,CAAC,MAAmB,CACzB,CAAC;YACF,IAAI,SAAS,EAAE;gBACb,SAAS,CAAC,IAAI,EAAE,CAAC;gBAEjB,IAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;gBACzB,IAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAE5C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;oBACnB,EAAE,EAAE,eAAe;oBACnB,SAAS,WAAA;oBACT,KAAK,OAAA;oBACL,SAAS,WAAA;oBACT,IAAI,EAAE,cAAc,CAAC,MAAM;oBAC3B,KAAK,EAAE,SAAS;iBACjB,CAAC,CAAC;aACJ;SACF;aAAM;YACL,cAAc;YACd,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;SAChC;IACH,CAAC;IAED;;;OAGG;IACI,uBAAM,GAAb;QAAA,iBA2CC;QA1CC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;QAErC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAC,EAAmB;YAChC,IAAA,SAAS,GAAgB,EAAE,UAAlB,EAAE,SAAS,GAAK,EAAE,UAAP,CAAQ;YACpC,IAAM,MAAM,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;YAC1C,IAAM,OAAO,GAAG,KAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;YAEtD,IAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC3C,IAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAE7C,wCAAwC;YACxC,SAAS,CAAC,MAAM,CAAC;gBACf,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,IAAI,CAAC,CAAC;gBACnD,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,IAAI,CAAC,CAAC;aACvD,CAAC,CAAC;YAEH,IAAM,UAAU,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC,CAAC,+BAA+B;YAC7E,IAAM,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;YAEjF,IAAA,KAAW,mBAAmB,CAAC,KAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,SAAS,CAAC,EAAxE,EAAE,QAAA,EAAE,EAAE,QAAkE,CAAC;YAC1E,IAAA,KAAW,mBAAmB,CAAC,KAAI,CAAC,UAAU,EAAE,IAAI,EAAE,SAAS,CAAC,EAA/D,EAAE,QAAA,EAAE,EAAE,QAAyD,CAAC;YAEvE,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,IAAI,CAAC,GAAG,CAAC,CAAC;YAEV,iDAAiD;YACjD,IAAI,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;gBACjE,CAAC,GAAG,EAAE,CAAC;gBACP,CAAC,GAAG,EAAE,CAAC;aACR;iBAAM;gBACL,CAAC,GAAG,EAAE,CAAC;gBACP,CAAC,GAAG,EAAE,CAAC;aACR;YAED,OAAO;YACP,SAAS,CAAC,MAAM,CAAC;gBACf,CAAC,GAAA;gBACD,CAAC,GAAA;aACF,CAAC,CAAC;YAEH,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACI,uBAAM,GAAb;QAAA,iBA6GC;QA5GC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC;QAE7C,gBAAgB;QAChB,IAAM,OAAO,GAAyB,EAAE,CAAC;QAEzC,IAAM,UAAU,GAAG,UAAC,QAAkB,EAAE,IAAe,EAAE,KAAY;YACnE,IAAM,EAAE,GAAG,KAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAEnC,IAAM,OAAO,GAAG,KAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;YAE1C,aAAa;YACb,IAAI,OAAO,EAAE;gBACX,IAAI,GAAG,SAAA,CAAC;gBACR,IAAM,YAAY,GAAG,eAAe,CAAC,KAAI,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gBAE/D,qEAAqE;gBACrE,IAAI,YAAY,KAAK,KAAK,EAAE;oBAC1B,IAAI,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE;wBAC/B,GAAG,GAAG,KAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;qBACtE;yBAAM;wBACL,IAAI,KAAK,CAAC,QAAQ,EAAE;4BAClB,yCAAyC;4BACzC,GAAG,GAAG,KAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;yBAClE;6BAAM,IAAI,KAAK,CAAC,UAAU,EAAE;4BAC3B,yCAAyC;4BACzC,GAAG,GAAG,KAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;yBAChE;qBACF;iBACF;gBAED,uCAAuC;gBACvC,IAAI,GAAG,EAAE;oBACP,4BAA4B;oBAC5B,IAAI,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;oBAEzB,OAAO,CAAC,SAAS,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;oBAE/C,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAE9B,QAAQ;oBACR,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;iBACpB;aACF;iBAAM;gBACL,cAAc;gBACd,IAAM,MAAM,GAAG,KAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;gBAE7D,IAAI,MAAM,EAAE;oBACT,MAAM,CAAC,SAA4B,CAAC,IAAI,EAAE,CAAC;oBAC5C,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAE7B,QAAQ;oBACR,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;iBACpB;aACF;QACH,CAAC,CAAC;QAEF,UAAU;QACV,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE;YAC9B,IAAM,EAAE,GAAG,eAAe,CAAC;YAC3B,IAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;YAC1C,IAAI,OAAO,EAAE;gBACX,IAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBAC1F,IAAI,CAAC,SAAS,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;gBAC/B,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAEpC,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;aACpB;iBAAM;gBACL,IAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CACvC,SAAS,EAAE,SAAS,EAAE,SAAS,EAC/B,IAAI,CAAC,MAAmB,CACzB,CAAC;gBACF,IAAI,SAAS,EAAE;oBACb,SAAS,CAAC,IAAI,EAAE,CAAC;oBAEjB,IAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;oBACzB,IAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAE5C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnB,EAAE,IAAA;wBACF,SAAS,WAAA;wBACT,KAAK,OAAA;wBACL,SAAS,WAAA;wBACT,IAAI,EAAE,cAAc,CAAC,MAAM;wBAC3B,KAAK,EAAE,SAAS;qBACjB,CAAC,CAAC;oBAEH,QAAQ;oBACR,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;iBACpB;aACF;SACF;aAAM;YACL,cAAc;YACd,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;SAC9B;QAED,eAAe;QACf,SAAS;QACT,IAAM,UAAU,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,UAAC,EAAmB;YAC7C,IAAI,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;gBAClB,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aACrB;iBAAM;gBACL,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;aACxB;QACH,CAAC,CAAC,CAAC;QAEH,qBAAqB;QACrB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAEM,sBAAK,GAAZ;QACE,iBAAM,KAAK,WAAE,CAAC;QACd,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IAEM,wBAAO,GAAd;QACE,iBAAM,OAAO,WAAE,CAAC;QAEhB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED;;OAEG;IACK,8BAAa,GAArB,UAAsB,IAAU;QAAhC,iBAQC;QAPC,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAEjC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,UAAC,CAAO;YACvB,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,KAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;OAGG;IACK,4BAAW,GAAnB,UAAoB,MAAc;QAChC,IAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC;QACzD,qBAAqB;QACrB,IAAI,CAAC,UAAU,EAAE;YAAE,OAAO;SAAE;QAE5B,oCAAoC;QACpC,IAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEjD,IAAM,MAAM,GAAyB,EAAE,CAAC,CAAC,oBAAoB;QAE7D,IAAI,CAAC,UAAU,EAAE,UAAC,QAAkB;YAClC,IAAM,UAAU,GAAG,QAAQ,CAAC,kBAAkB,EAAE,CAAC;YAEjD,IAAI,CAAC,UAAU,EAAE,UAAC,IAAe;gBAC/B,IAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvC,qDAAqD;gBACrD,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;oBAC9D,OAAO;iBACR;gBAED,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;gBAE9B,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;YAC7B,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACK,kCAAiB,GAAzB,UAA0B,QAAkB,EAAE,IAAe,EAAE,KAAY;QACzE,IAAI,SAAS,CAAC;QAEd,IAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAC/D,IAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;QACzB,IAAM,SAAS,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;QAE7C,qEAAqE;QACrE,IAAI,YAAY,KAAK,KAAK,EAAE;YAC1B,IAAI,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE;gBAC/B,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;aAC1E;iBAAM;gBACL,IAAI,KAAK,CAAC,QAAQ,EAAE;oBAClB,yCAAyC;oBACzC,SAAS,GAAG,IAAI,CAAC,sBAAsB,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;iBAC9E;qBAAM,IAAI,KAAK,CAAC,UAAU,EAAE;oBAC3B,yCAAyC;oBACzC,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;iBAC5E;aACF;SACF;QAED,IAAI,SAAS,EAAE;YACb,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YAEpC,OAAO;gBACL,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;gBAC3B,SAAS,WAAA;gBACT,KAAK,OAAA;gBACL,SAAS,WAAA;gBACT,IAAI,EAAE,cAAc,CAAC,MAAM;gBAC3B,KAAK,EAAE,EAAE,KAAK,OAAA,EAAE;aACjB,CAAC;SACH;IACH,CAAC;IAED;;;;;;OAMG;IACK,mCAAkB,GAA1B,UAA2B,QAAkB,EAAE,IAAe,EAAE,KAAY,EAAE,YAAuB;QACnG,cAAc;QACd,IAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;QAC3E,OAAO,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAED;;;;;;OAMG;IACK,uCAAsB,GAA9B,UAA+B,QAAkB,EAAE,IAAe,EAAE,KAAY,EAAE,YAAiB;QACjG,IAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;QACvE,OAAO,IAAI,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAED;;;;;;OAMG;IACK,qCAAoB,GAA5B,UAA6B,QAAkB,EAAE,IAAe,EAAE,KAAY,EAAE,YAAiB;QAC/F,IAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;QACrE,OAAO,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAED;;;;;;OAMG;IACK,iCAAgB,GAAxB,UAAyB,QAAkB,EAAE,IAAe,EAAE,KAAY,EAAE,YAAiB;QAC3F,IAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;QAE/B,IAAM,UAAU,GAAG,IAAI,CAAC,KAAK,EAAE,UAAC,IAAU,IAAK,OAAA,IAAI,CAAC,KAAK,KAAK,CAAC,EAAhB,CAAgB,CAAC,CAAC;QACjE,IAAM,UAAU,GAAG,IAAI,CAAC,KAAK,EAAE,UAAC,IAAU,IAAK,OAAA,IAAI,CAAC,KAAK,KAAK,CAAC,EAAhB,CAAgB,CAAC,CAAC;QACjE,IAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,UAAC,IAAU;YACzB,IAAA,KAAK,GAAgB,IAAI,MAApB,EAAE,SAAS,GAAK,IAAI,UAAT,CAAU;YAClC,IAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAE7D,OAAO;gBACL,KAAK,EAAE,SAAS;gBAChB,SAAS,WAAA;gBACT,KAAK,EAAE,SAAS;gBAChB,UAAU,EAAE,KAAK;aAClB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,EAAE;YACf,KAAK,CAAC,IAAI,CAAC;gBACT,KAAK,EAAE,KAAK,CAAC,GAAG;gBAChB,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjD,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7C,UAAU,EAAE,CAAC;aACd,CAAC,CAAC;SACJ;QACD,IAAI,CAAC,UAAU,EAAE;YACf,KAAK,CAAC,IAAI,CAAC;gBACT,KAAK,EAAE,KAAK,CAAC,GAAG;gBAChB,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjD,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7C,UAAU,EAAE,CAAC;aACd,CAAC,CAAC;SACJ;QAED,KAAK;QACL,KAAK,CAAC,IAAI,CAAC,UAAC,CAAM,EAAE,CAAM,IAAK,OAAA,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,EAAjB,CAAiB,CAAC,CAAC;QAElD,eAAe;QACf,mBAAmB;QACnB,IAAM,aAAa,GAAgB;YACjC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK;YACtB,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK;YACtB,MAAM,EAAE,EAAE;YACV,IAAI,EAAE;gBACJ,IAAI,EAAE,IAAI,CAAC,IAAI;aAChB;YACD,KAAK,EAAE,EAAE;SACV,CAAC;QAEF,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;YACxB,aAAa,CAAC,KAAK,GAAG;gBACpB,KAAK,EAAE;oBACL,sCAAsC;oBACtC,aAAa;oBACb,IAAI,EAAE,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;iBAC3E;aACF,CAAC;SACH;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;YACzB,aAAa,CAAC,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,SAAS,EAAd,CAAc,CAAC,CAAC;SAC5D;QAED,IAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,6CAA6C;QAC7C,IAAM,SAAS,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;QAE7C,IAAM,MAAM,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;QAE1C,IAAI,KAAK,GAAG,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACvC,IAAI,KAAK,EAAE;YACT,KAAK,GAAG,OAAO,CAAC;gBACd,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC;aACrB,EAAE,KAAK,CAAC,CAAC;SACX;QAED,mBAAmB;QACnB,aAAa,CAAC,SAAS,GAAG,SAAS,CAAC;QACpC,aAAa,CAAC,MAAM,GAAG,MAAM,CAAC;QAC9B,aAAa,CAAC,KAAK,GAAG,KAAK,CAAC;QAC5B,aAAa,CAAC,aAAa,GAAG,mBAAmB,CAAC;QAClD,aAAa;QACb,OAAO,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;IACxE,CAAC;IAED;;;;;;;OAOG;IACK,+BAAc,GAAtB,UAAuB,QAAkB,EAAE,IAAe,EAAE,KAAY,EAAE,YAAiB,EAAE,MAAgB;QAC3G,IAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,6CAA6C;QAC7C,IAAM,SAAS,GAAG,GAAG,CAAC,YAAY,EAAE,UAAU,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QAElE,2BAA2B;QAC3B,IAAM,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC7F,IAAM,UAAU,GAAG,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAC/C,IAAM,MAAM,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;QAE1C,IAAM,KAAK,GAAG,MAAM,CAAC,CAAC;YACpB,oBAAoB,CAAC,WAAW,EAAE,UAAU,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;YACnE,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;QAErE,IAAI,KAAK,GAAG,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACvC,IAAI,KAAK,EAAE;YACT,KAAK,GAAG,OAAO,CAAC;gBACd,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;aAClC,EAAE,KAAK,CAAC,CAAC;SACX;QAED,IAAM,OAAO,GAAgB,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;QACnE,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;QAC9B,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;QACxB,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;QACtB,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;QACtB,OAAO,CAAC,aAAa,GAAG,mBAAmB,CAAC;QAE5C,IAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;QAC1E,IAAI,WAAW,CAAC,QAAQ,EAAE;YACxB,UAAU;YACV,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;SAC7B;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;;;OAKG;IACK,+BAAc,GAAtB,UAAuB,OAAe,EAAE,YAA0B,EAAE,SAAoB;QACtF,IAAM,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;QAEvF,OAAO,OAAO,CAAC,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IACzD,CAAC;IAED;;;OAGG;IACK,sBAAK,GAAb,UAAc,GAAW;QACvB,OAAU,IAAI,CAAC,IAAI,SAAI,GAAK,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACK,iCAAgB,GAAxB,UAAyB,EAAU;QACjC,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAC,EAAE,IAAK,OAAA,EAAE,CAAC,EAAE,KAAK,EAAE,EAAZ,CAAY,CAAC,CAAC;IACrD,CAAC;IAEO,yCAAwB,GAAhC,UAAiC,MAAiC;QAC1D,IAAA,KAA4B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAArC,EAAE,WAAA,EAAU,EAAE,YAAuB,CAAC;QAC/C,IAAA,KAA4B,IAAI,CAAC,IAAI,CAAC,cAAc,EAA3C,EAAE,WAAA,EAAU,EAAE,YAA6B,CAAC;QAC3D,OAAO,MAAM,KAAK,UAAU;YAC1B,CAAC,CAAC;gBACA,QAAQ,EAAE,EAAE,GAAG,6BAA6B;gBAC5C,SAAS,EAAE,EAAE;aACd;YACD,CAAC,CAAC;gBACA,QAAQ,EAAE,EAAE;gBACZ,SAAS,EAAE,EAAE,GAAG,6BAA6B;aAC9C,CAAC;IACN,CAAC;IACH,aAAC;AAAD,CAAC,AAvhBD,CAAoC,UAAU,GAuhB7C","sourcesContent":["import { deepMix, each, find, get, head, isBoolean, last } from '@antv/util';\n\nimport { COMPONENT_MAX_VIEW_PERCENTAGE, COMPONENT_TYPE, DIRECTION, LAYER } from '../../constant';\nimport { Attribute, CategoryLegend, ContinuousLegend, GroupComponent, IGroup, Scale, Tick } from '../../dependents';\nimport { ComponentOption, LegendCfg, LegendOption, LooseObject } from '../../interface';\n\nimport { DEFAULT_ANIMATE_CFG } from '../../animate';\nimport Geometry from '../../geometry/base';\nimport { BBox } from '../../util/bbox';\nimport { directionToPosition } from '../../util/direction';\nimport { omit } from '../../util/helper';\nimport { getCustomLegendItems, getLegendItems, getLegendLayout } from '../../util/legend';\nimport { getName } from '../../util/scale';\nimport View from '../view';\nimport { Controller } from './base';\n\ntype Option = Record<string, LegendOption> | boolean;\n\ntype DoEach = (geometry: Geometry, attr: Attribute, scale: Scale) => void;\n\n/**\n * 从配置中获取单个字段的 legend 配置\n * @param legends\n * @param field\n * @returns the option of one legend field\n */\nfunction getLegendOption(legends: Record<string, LegendOption> | boolean, field: string) {\n if (isBoolean(legends)) {\n return legends === false ? false : {};\n }\n\n return get(legends, [field], legends);\n}\n\nfunction getDirection(legendOption: any): DIRECTION {\n return get(legendOption, 'position', DIRECTION.BOTTOM);\n}\n\n/**\n * @ignore\n * legend Controller\n */\nexport default class Legend extends Controller<Option> {\n /** the draw group of axis */\n private container: IGroup;\n /** 用于多个 legend 布局的 bbox */\n private layoutBBox: BBox;\n\n constructor(view: View) {\n super(view);\n\n this.container = this.view.getLayer(LAYER.FORE).addGroup();\n }\n\n public get name(): string {\n return 'legend';\n }\n\n public init() { }\n\n /**\n * render the legend component by legend options\n */\n public render() {\n this.option = this.view.getOptions().legends;\n\n const doEachLegend = (geometry: Geometry, attr: Attribute, scale: Scale) => {\n const legend = this.createFieldLegend(geometry, attr, scale);\n\n if (legend) {\n (legend.component as GroupComponent).init();\n this.components.push(legend);\n }\n };\n\n // 全局自定义图例\n if (get(this.option, 'custom')) {\n const component = this.createCustomLegend(\n undefined, undefined, undefined,\n this.option as LegendCfg,\n );\n if (component) {\n component.init();\n\n const layer = LAYER.FORE;\n const direction = getDirection(this.option);\n\n this.components.push({\n id: 'global-custom',\n component,\n layer,\n direction,\n type: COMPONENT_TYPE.LEGEND,\n extra: undefined,\n });\n }\n } else {\n // 遍历处理每一个创建逻辑\n this.loopLegends(doEachLegend);\n }\n }\n\n /**\n * layout legend\n * 计算出 legend 的 direction 位置 x, y\n */\n public layout() {\n this.layoutBBox = this.view.viewBBox;\n\n each(this.components, (co: ComponentOption) => {\n const { component, direction } = co;\n const layout = getLegendLayout(direction);\n const maxSize = this.getCategoryLegendSizeCfg(layout);\n\n const maxWidth = component.get('maxWidth');\n const maxHeight = component.get('maxHeight');\n\n // 先更新 maxSize更新 layoutBBox以便计算正确的 x y\n component.update({\n maxWidth: Math.min(maxSize.maxWidth, maxWidth || 0),\n maxHeight: Math.min(maxSize.maxHeight, maxHeight || 0),\n });\n\n const bboxObject = component.getLayoutBBox(); // 这里只需要他的 width、height 信息做位置调整\n const bbox = new BBox(bboxObject.x, bboxObject.y, bboxObject.width, bboxObject.height);\n\n const [x1, y1] = directionToPosition(this.view.coordinateBBox, bbox, direction);\n const [x2, y2] = directionToPosition(this.layoutBBox, bbox, direction);\n\n let x = 0;\n let y = 0;\n\n // 因为 legend x y 要和 coordinateBBox 对齐,所以要做一个简单的判断\n if (direction.startsWith('top') || direction.startsWith('bottom')) {\n x = x1;\n y = y2;\n } else {\n x = x2;\n y = y1;\n }\n\n // 更新位置\n component.update({\n x,\n y,\n });\n\n this.layoutBBox = this.layoutBBox.cut(bbox, direction);\n });\n }\n\n /**\n * legend 的更新逻辑\n */\n public update() {\n this.option = this.view.getOptions().legends;\n\n // 已经处理过的 legend\n const updated: Record<string, true> = {};\n\n const eachLegend = (geometry: Geometry, attr: Attribute, scale: Scale) => {\n const id = this.getId(scale.field);\n\n const existCo = this.getComponentById(id);\n\n // 存在则 update\n if (existCo) {\n let cfg;\n const legendOption = getLegendOption(this.option, scale.field);\n\n // if the legend option is not false, means legend should be created.\n if (legendOption !== false) {\n if (get(legendOption, 'custom')) {\n cfg = this.getCategoryCfg(geometry, attr, scale, legendOption, true);\n } else {\n if (scale.isLinear) {\n // linear field, create continuous legend\n cfg = this.getContinuousCfg(geometry, attr, scale, legendOption);\n } else if (scale.isCategory) {\n // category field, create category legend\n cfg = this.getCategoryCfg(geometry, attr, scale, legendOption);\n }\n }\n }\n\n // 如果 cfg 为空,则不在 updated 标记,那么会在后面逻辑中删除\n if (cfg) {\n // omit 掉一些属性,比如 container 等\n omit(cfg, ['container']);\n\n existCo.direction = getDirection(legendOption);\n\n existCo.component.update(cfg);\n\n // 标记为新的\n updated[id] = true;\n }\n } else {\n // 不存在则 create\n const legend = this.createFieldLegend(geometry, attr, scale);\n\n if (legend) {\n (legend.component as GroupComponent).init();\n this.components.push(legend);\n\n // 标记为新的\n updated[id] = true;\n }\n }\n };\n\n // 全局自定义图例\n if (get(this.option, 'custom')) {\n const id = 'global-custom';\n const existCo = this.getComponentById(id);\n if (existCo) {\n const customCfg = this.getCategoryCfg(undefined, undefined, undefined, this.option, true);\n omit(customCfg, ['container']);\n existCo.component.update(customCfg);\n\n updated[id] = true;\n } else {\n const component = this.createCustomLegend(\n undefined, undefined, undefined,\n this.option as LegendCfg,\n );\n if (component) {\n component.init();\n\n const layer = LAYER.FORE;\n const direction = getDirection(this.option);\n\n this.components.push({\n id,\n component,\n layer,\n direction,\n type: COMPONENT_TYPE.LEGEND,\n extra: undefined,\n });\n\n // 标记为更新\n updated[id] = true;\n }\n }\n } else {\n // 遍历处理每一个创建逻辑\n this.loopLegends(eachLegend);\n }\n\n // 处理完成之后,销毁删除的\n // 不在处理中的\n const components = [];\n each(this.getComponents(), (co: ComponentOption) => {\n if (updated[co.id]) {\n components.push(co);\n } else {\n co.component.destroy();\n }\n });\n\n // 更新当前已有的 components\n this.components = components;\n }\n\n public clear() {\n super.clear();\n this.container.clear();\n }\n\n public destroy() {\n super.destroy();\n\n this.container.remove(true);\n }\n\n /**\n * 递归获取所有的 Geometry\n */\n private getGeometries(view: View): Geometry[] {\n let geometries = view.geometries;\n\n each(view.views, (v: View) => {\n geometries = geometries.concat(this.getGeometries(v));\n });\n\n return geometries;\n }\n\n /**\n * 遍历 Geometry处理 legend 逻辑\n * @param doEach 每个 loop 中的处理方法\n */\n private loopLegends(doEach: DoEach) {\n const isRootView = this.view.getRootView() === this.view;\n // 非根 view不处理 legend\n if (!isRootView) { return; }\n\n // 递归 view 中所有的 Geometry进行创建 legend\n const geometries = this.getGeometries(this.view);\n\n const looped: Record<string, true> = {}; // 防止一个字段创建两个 legend\n\n each(geometries, (geometry: Geometry) => {\n const attributes = geometry.getGroupAttributes();\n\n each(attributes, (attr: Attribute) => {\n const scale = attr.getScale(attr.type);\n // 如果在视觉通道上映射常量值,如 size(2) shape('circle') 不创建 legend\n if (!scale || scale.type === 'identity' || looped[scale.field]) {\n return;\n }\n\n doEach(geometry, attr, scale);\n\n looped[scale.field] = true;\n });\n });\n }\n\n /**\n * 创建一个 legend\n * @param geometry\n * @param attr\n * @param scale\n */\n private createFieldLegend(geometry: Geometry, attr: Attribute, scale: Scale): ComponentOption {\n let component;\n\n const legendOption = getLegendOption(this.option, scale.field);\n const layer = LAYER.FORE;\n const direction = getDirection(legendOption);\n\n // if the legend option is not false, means legend should be created.\n if (legendOption !== false) {\n if (get(legendOption, 'custom')) {\n component = this.createCustomLegend(geometry, attr, scale, legendOption);\n } else {\n if (scale.isLinear) {\n // linear field, create continuous legend\n component = this.createContinuousLegend(geometry, attr, scale, legendOption);\n } else if (scale.isCategory) {\n // category field, create category legend\n component = this.createCategoryLegend(geometry, attr, scale, legendOption);\n }\n }\n }\n\n if (component) {\n component.set('field', scale.field);\n\n return {\n id: this.getId(scale.field),\n component,\n layer,\n direction,\n type: COMPONENT_TYPE.LEGEND,\n extra: { scale },\n };\n }\n }\n\n /**\n * 自定义图例使用 category 图例去渲染\n * @param geometry\n * @param attr\n * @param scale\n * @param legendOption\n */\n private createCustomLegend(geometry: Geometry, attr: Attribute, scale: Scale, legendOption: LegendCfg) {\n // 直接使用 分类图例渲染\n const cfg = this.getCategoryCfg(geometry, attr, scale, legendOption, true);\n return new CategoryLegend(cfg);\n }\n\n /**\n * 创建连续图例\n * @param geometry\n * @param attr\n * @param scale\n * @param legendOption\n */\n private createContinuousLegend(geometry: Geometry, attr: Attribute, scale: Scale, legendOption: any) {\n const cfg = this.getContinuousCfg(geometry, attr, scale, legendOption);\n return new ContinuousLegend(cfg);\n }\n\n /**\n * 创建分类图例\n * @param geometry\n * @param attr\n * @param scale\n * @param legendOption\n */\n private createCategoryLegend(geometry: Geometry, attr: Attribute, scale: Scale, legendOption: any) {\n const cfg = this.getCategoryCfg(geometry, attr, scale, legendOption);\n return new CategoryLegend(cfg);\n }\n\n /**\n * 获得连续图例的配置\n * @param geometry\n * @param attr\n * @param scale\n * @param legendOption\n */\n private getContinuousCfg(geometry: Geometry, attr: Attribute, scale: Scale, legendOption: any): object {\n const ticks = scale.getTicks();\n\n const containMin = find(ticks, (tick: Tick) => tick.value === 0);\n const containMax = find(ticks, (tick: Tick) => tick.value === 1);\n const items = ticks.map((tick: Tick) => {\n const { value, tickValue } = tick;\n const attrValue = attr.mapping(scale.invert(value)).join('');\n\n return {\n value: tickValue,\n attrValue,\n color: attrValue,\n scaleValue: value,\n };\n });\n\n if (!containMin) {\n items.push({\n value: scale.min,\n attrValue: attr.mapping(scale.invert(0)).join(''),\n color: attr.mapping(scale.invert(0)).join(''),\n scaleValue: 0,\n });\n }\n if (!containMax) {\n items.push({\n value: scale.max,\n attrValue: attr.mapping(scale.invert(1)).join(''),\n color: attr.mapping(scale.invert(1)).join(''),\n scaleValue: 1,\n });\n }\n\n // 排序\n items.sort((a: any, b: any) => a.value - b.value);\n\n // 跟 attr 相关的配置\n // size color 区别的配置\n const attrLegendCfg: LooseObject = {\n min: head(items).value,\n max: last(items).value,\n colors: [],\n rail: {\n type: attr.type,\n },\n track: {},\n };\n\n if (attr.type === 'size') {\n attrLegendCfg.track = {\n style: {\n // size 的选中前景色,对于 color则直接使用 color 标识\n // @ts-ignore\n fill: attr.type === 'size' ? this.view.getTheme().defaultColor : undefined,\n },\n };\n }\n\n if (attr.type === 'color') {\n attrLegendCfg.colors = items.map((item) => item.attrValue);\n }\n\n const container = this.container;\n // if position is not set, use top as default\n const direction = getDirection(legendOption);\n\n const layout = getLegendLayout(direction);\n\n let title = get(legendOption, 'title');\n if (title) {\n title = deepMix({\n text: getName(scale),\n }, title);\n }\n\n // 基础配置,从当前数据中读到的配置\n attrLegendCfg.container = container;\n attrLegendCfg.layout = layout;\n attrLegendCfg.title = title;\n attrLegendCfg.animateOption = DEFAULT_ANIMATE_CFG;\n // @ts-ignore\n return this.mergeLegendCfg(attrLegendCfg, legendOption, 'continuous');\n }\n\n /**\n * 获取分类图例的配置项\n * @param geometry\n * @param attr\n * @param scale\n * @param custom\n * @param legendOption\n */\n private getCategoryCfg(geometry: Geometry, attr: Attribute, scale: Scale, legendOption: any, custom?: boolean): object {\n const container = this.container;\n // if position is not set, use top as default\n const direction = get(legendOption, 'position', DIRECTION.BOTTOM);\n\n // the default marker style\n const themeMarker = get(this.view.getTheme(), ['components', 'legend', direction, 'marker']);\n const userMarker = get(legendOption, 'marker');\n const layout = getLegendLayout(direction);\n\n const items = custom ?\n getCustomLegendItems(themeMarker, userMarker, legendOption.items) :\n getLegendItems(this.view, geometry, attr, themeMarker, userMarker);\n\n let title = get(legendOption, 'title');\n if (title) {\n title = deepMix({\n text: scale ? getName(scale) : '',\n }, title);\n }\n\n const baseCfg: LooseObject = this.getCategoryLegendSizeCfg(layout);\n baseCfg.container = container;\n baseCfg.layout = layout;\n baseCfg.items = items;\n baseCfg.title = title;\n baseCfg.animateOption = DEFAULT_ANIMATE_CFG;\n\n const categoryCfg = this.mergeLegendCfg(baseCfg, legendOption, direction);\n if (categoryCfg.reversed) {\n // 图例项需要逆序\n categoryCfg.items.reverse();\n }\n\n return categoryCfg;\n }\n\n /**\n * get legend config, use option > suggestion > theme\n * @param baseCfg\n * @param legendOption\n * @param direction\n */\n private mergeLegendCfg(baseCfg: object, legendOption: LegendOption, direction: DIRECTION) {\n const themeObject = get(this.view.getTheme(), ['components', 'legend', direction], {});\n\n return deepMix({}, themeObject, baseCfg, legendOption);\n }\n\n /**\n * 生成 id\n * @param key\n */\n private getId(key: string): string {\n return `${this.name}-${key}`;\n }\n\n /**\n * 根据 id 来获取组件\n * @param id\n */\n private getComponentById(id: string): ComponentOption {\n return find(this.components, (co) => co.id === id);\n }\n\n private getCategoryLegendSizeCfg(layout: 'horizontal' | 'vertical') {\n const { width: vw, height: vh } = this.view.viewBBox;\n const { width: cw, height: ch } = this.view.coordinateBBox;\n return layout === 'vertical'\n ? {\n maxWidth: vw * COMPONENT_MAX_VIEW_PERCENTAGE,\n maxHeight: ch,\n }\n : {\n maxWidth: cw,\n maxHeight: vh * COMPONENT_MAX_VIEW_PERCENTAGE,\n };\n }\n}\n"]}