{"version":3,"file":"geometry.js","sourceRoot":"","sources":["../../src/utils/geometry.ts"],"names":[],"mappings":";;;AACA,mCAAyC;AAEzC;;;;GAIG;AACH,SAAgB,YAAY,CAAC,IAAU,EAAE,IAAY;IACnD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAC,CAAW,IAAK,OAAA,CAAC,CAAC,IAAI,KAAK,IAAI,EAAf,CAAe,CAAC,CAAC;AAChE,CAAC;AAFD,oCAEC;AAED;;GAEG;AACH,SAAgB,cAAc,CAAC,IAAU;IACvC,OAAO,IAAA,aAAM,EACX,IAAI,CAAC,UAAU,EACf,UAAC,CAAY,EAAE,QAAkB;QAC/B,OAAO,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC,EACD,EAAE,CACH,CAAC;AACJ,CAAC;AARD,wCAQC;AAED;;GAEG;AACH,SAAgB,yBAAyB,CAAC,IAAU;IAClD,IAAI,IAAA,UAAG,EAAC,IAAI,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE;QAC1C,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC;KAC7B;IAED,OAAO,IAAA,aAAM,EACX,IAAI,CAAC,KAAK,EACV,UAAC,GAAc,EAAE,OAAa;QAC5B,OAAO,GAAG,CAAC,MAAM,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC,CAAC;IACxD,CAAC,EACD,cAAc,CAAC,IAAI,CAAC,CACrB,CAAC;AACJ,CAAC;AAZD,8DAYC;AAED;;GAEG;AACH,SAAgB,2BAA2B,CAAC,IAAU;IACpD,IAAI,IAAA,UAAG,EAAC,IAAI,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE;QAC1C,OAAO,IAAI,CAAC,UAAU,CAAC;KACxB;IAED,OAAO,IAAA,aAAM,EACX,IAAI,CAAC,KAAK,EACV,UAAC,GAAe,EAAE,OAAa;QAC7B,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC,EACD,IAAI,CAAC,UAAU,CAChB,CAAC;AACJ,CAAC;AAZD,kEAYC","sourcesContent":["import { Element, Geometry, View } from '@antv/g2';\nimport { get, reduce } from '@antv/util';\n\n/**\n * 在 View 中查找第一个指定 type 类型的 geometry\n * @param view\n * @param type\n */\nexport function findGeometry(view: View, type: string): Geometry {\n return view.geometries.find((g: Geometry) => g.type === type);\n}\n\n/**\n * 获取 View 的 所有 elements\n */\nexport function getAllElements(view: View): Element[] {\n return reduce(\n view.geometries,\n (r: Element[], geometry: Geometry) => {\n return r.concat(geometry.elements);\n },\n []\n );\n}\n\n/**\n * 递归获取 View 的 所有 elements, 包括 View 的子 View\n */\nexport function getAllElementsRecursively(view: View): Element[] {\n if (get(view, ['views', 'length'], 0) <= 0) {\n return getAllElements(view);\n }\n\n return reduce(\n view.views,\n (ele: Element[], subView: View) => {\n return ele.concat(getAllElementsRecursively(subView));\n },\n getAllElements(view)\n );\n}\n\n/**\n * 递归获取 View 的 所有 geometries, 包括 View 的子 View\n */\nexport function getAllGeometriesRecursively(view: View): Geometry[] {\n if (get(view, ['views', 'length'], 0) <= 0) {\n return view.geometries;\n }\n\n return reduce(\n view.views,\n (ele: Geometry[], subView: View) => {\n return ele.concat(subView.geometries);\n },\n view.geometries\n );\n}\n"]}