@visactor/vtable 0.9.3-alpha.7 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/ListTable.js +6 -5
- package/cjs/ListTable.js.map +1 -1
- package/cjs/PivotTable.js +2 -2
- package/cjs/PivotTable.js.map +1 -1
- package/cjs/components/axis/axis.d.ts +1 -0
- package/cjs/components/axis/axis.js +10 -1
- package/cjs/components/axis/axis.js.map +1 -1
- package/cjs/components/legend/legend.js +5 -3
- package/cjs/components/legend/legend.js.map +1 -1
- package/cjs/core/BaseTable.d.ts +4 -2
- package/cjs/core/BaseTable.js +33 -16
- package/cjs/core/BaseTable.js.map +1 -1
- package/cjs/event/drill.d.ts +2 -0
- package/cjs/event/drill.js +15 -2
- package/cjs/event/drill.js.map +1 -1
- package/cjs/event/event.js +2 -1
- package/cjs/event/event.js.map +1 -1
- package/cjs/event/pivot-chart/axis-click.js +3 -2
- package/cjs/event/pivot-chart/axis-click.js.map +1 -1
- package/cjs/index.d.ts +1 -1
- package/cjs/index.js +1 -1
- package/cjs/index.js.map +1 -1
- package/cjs/layout/chart-helper/get-axis-config.js +5 -5
- package/cjs/layout/chart-helper/get-axis-config.js.map +1 -1
- package/cjs/layout/chart-helper/get-chart-spec.js +2 -2
- package/cjs/layout/chart-helper/get-chart-spec.js.map +1 -1
- package/cjs/layout/pivot-layout.js +4 -2
- package/cjs/layout/pivot-layout.js.map +1 -1
- package/cjs/scenegraph/graphic/chart.js.map +1 -1
- package/cjs/scenegraph/graphic/contributions/chart-render-helper.d.ts +8 -0
- package/cjs/scenegraph/graphic/contributions/chart-render-helper.js +66 -0
- package/cjs/scenegraph/graphic/contributions/chart-render-helper.js.map +1 -0
- package/cjs/scenegraph/graphic/contributions/chart-render.js +9 -35
- package/cjs/scenegraph/graphic/contributions/chart-render.js.map +1 -1
- package/cjs/scenegraph/group-creater/cell-helper.js +2 -1
- package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
- package/cjs/scenegraph/group-creater/cell-type/chart-cell.js +1 -1
- package/cjs/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
- package/cjs/scenegraph/group-creater/cell-type/image-cell.js +1 -1
- package/cjs/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
- package/cjs/scenegraph/group-creater/cell-type/spark-line-cell.js +1 -1
- package/cjs/scenegraph/group-creater/cell-type/spark-line-cell.js.map +1 -1
- package/cjs/scenegraph/group-creater/cell-type/text-cell.js +1 -1
- package/cjs/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
- package/cjs/scenegraph/group-creater/cell-type/video-cell.js +1 -1
- package/cjs/scenegraph/group-creater/cell-type/video-cell.js.map +1 -1
- package/cjs/scenegraph/group-creater/column-helper.js +3 -3
- package/cjs/scenegraph/group-creater/column-helper.js.map +1 -1
- package/cjs/scenegraph/group-creater/init-scenegraph.d.ts +2 -0
- package/cjs/scenegraph/group-creater/init-scenegraph.js +61 -0
- package/cjs/scenegraph/group-creater/init-scenegraph.js.map +1 -0
- package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.js +7 -2
- package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.js.map +1 -1
- package/cjs/scenegraph/group-creater/progress/proxy.d.ts +1 -0
- package/cjs/scenegraph/group-creater/progress/proxy.js +9 -5
- package/cjs/scenegraph/group-creater/progress/proxy.js.map +1 -1
- package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-x.js +35 -44
- package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-x.js.map +1 -1
- package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-y.js +3 -17
- package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-y.js.map +1 -1
- package/cjs/scenegraph/group-creater/progress/update-position/update-auto-column.d.ts +2 -0
- package/cjs/scenegraph/group-creater/progress/update-position/update-auto-column.js +37 -0
- package/cjs/scenegraph/group-creater/progress/update-position/update-auto-column.js.map +1 -0
- package/cjs/scenegraph/group-creater/progress/update-position/update-auto-row.js.map +1 -1
- package/cjs/scenegraph/group-creater/progress/update-position/util.d.ts +8 -0
- package/cjs/scenegraph/group-creater/progress/update-position/util.js +70 -0
- package/cjs/scenegraph/group-creater/progress/update-position/util.js.map +1 -0
- package/cjs/scenegraph/layout/frozen.d.ts +2 -0
- package/cjs/scenegraph/layout/frozen.js +139 -6
- package/cjs/scenegraph/layout/frozen.js.map +1 -1
- package/cjs/scenegraph/layout/update-height.js +2 -1
- package/cjs/scenegraph/layout/update-height.js.map +1 -1
- package/cjs/scenegraph/layout/update-width.js +39 -64
- package/cjs/scenegraph/layout/update-width.js.map +1 -1
- package/cjs/scenegraph/refresh-node/update-chart.js +8 -6
- package/cjs/scenegraph/refresh-node/update-chart.js.map +1 -1
- package/cjs/scenegraph/scenegraph.d.ts +9 -4
- package/cjs/scenegraph/scenegraph.js +35 -97
- package/cjs/scenegraph/scenegraph.js.map +1 -1
- package/cjs/scenegraph/style/corner-cell.d.ts +2 -2
- package/cjs/scenegraph/style/corner-cell.js +8 -9
- package/cjs/scenegraph/style/corner-cell.js.map +1 -1
- package/cjs/state/hover/update-position.js +1 -1
- package/cjs/state/hover/update-position.js.map +1 -1
- package/cjs/ts-types/base-table.d.ts +7 -0
- package/cjs/ts-types/base-table.js.map +1 -1
- package/cjs/ts-types/table-engine.d.ts +1 -1
- package/cjs/ts-types/table-engine.js.map +1 -1
- package/dist/vtable.js +1086 -689
- package/dist/vtable.min.js +3 -3
- package/es/ListTable.js +6 -5
- package/es/ListTable.js.map +1 -1
- package/es/PivotTable.js +2 -2
- package/es/PivotTable.js.map +1 -1
- package/es/components/axis/axis.d.ts +1 -0
- package/es/components/axis/axis.js +10 -1
- package/es/components/axis/axis.js.map +1 -1
- package/es/components/legend/legend.js +5 -3
- package/es/components/legend/legend.js.map +1 -1
- package/es/core/BaseTable.d.ts +4 -2
- package/es/core/BaseTable.js +27 -9
- package/es/core/BaseTable.js.map +1 -1
- package/es/event/drill.d.ts +2 -0
- package/es/event/drill.js +13 -0
- package/es/event/drill.js.map +1 -1
- package/es/event/event.js +3 -3
- package/es/event/event.js.map +1 -1
- package/es/event/pivot-chart/axis-click.js +3 -2
- package/es/event/pivot-chart/axis-click.js.map +1 -1
- package/es/index.d.ts +1 -1
- package/es/index.js +1 -1
- package/es/index.js.map +1 -1
- package/es/layout/chart-helper/get-axis-config.js +5 -5
- package/es/layout/chart-helper/get-axis-config.js.map +1 -1
- package/es/layout/chart-helper/get-chart-spec.js +2 -2
- package/es/layout/chart-helper/get-chart-spec.js.map +1 -1
- package/es/layout/pivot-layout.js +4 -2
- package/es/layout/pivot-layout.js.map +1 -1
- package/es/scenegraph/graphic/chart.js.map +1 -1
- package/es/scenegraph/graphic/contributions/chart-render-helper.d.ts +8 -0
- package/es/scenegraph/graphic/contributions/chart-render-helper.js +61 -0
- package/es/scenegraph/graphic/contributions/chart-render-helper.js.map +1 -0
- package/es/scenegraph/graphic/contributions/chart-render.js +9 -34
- package/es/scenegraph/graphic/contributions/chart-render.js.map +1 -1
- package/es/scenegraph/group-creater/cell-helper.js +2 -1
- package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
- package/es/scenegraph/group-creater/cell-type/chart-cell.js +1 -1
- package/es/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
- package/es/scenegraph/group-creater/cell-type/image-cell.js +1 -1
- package/es/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
- package/es/scenegraph/group-creater/cell-type/spark-line-cell.js +1 -1
- package/es/scenegraph/group-creater/cell-type/spark-line-cell.js.map +1 -1
- package/es/scenegraph/group-creater/cell-type/text-cell.js +1 -1
- package/es/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
- package/es/scenegraph/group-creater/cell-type/video-cell.js +1 -1
- package/es/scenegraph/group-creater/cell-type/video-cell.js.map +1 -1
- package/es/scenegraph/group-creater/column-helper.js +3 -3
- package/es/scenegraph/group-creater/column-helper.js.map +1 -1
- package/es/scenegraph/group-creater/init-scenegraph.d.ts +2 -0
- package/es/scenegraph/group-creater/init-scenegraph.js +55 -0
- package/es/scenegraph/group-creater/init-scenegraph.js.map +1 -0
- package/es/scenegraph/group-creater/progress/create-group-for-first-screen.js +6 -2
- package/es/scenegraph/group-creater/progress/create-group-for-first-screen.js.map +1 -1
- package/es/scenegraph/group-creater/progress/proxy.d.ts +1 -0
- package/es/scenegraph/group-creater/progress/proxy.js +10 -3
- package/es/scenegraph/group-creater/progress/proxy.js.map +1 -1
- package/es/scenegraph/group-creater/progress/update-position/dynamic-set-x.js +36 -44
- package/es/scenegraph/group-creater/progress/update-position/dynamic-set-x.js.map +1 -1
- package/es/scenegraph/group-creater/progress/update-position/dynamic-set-y.js +2 -17
- package/es/scenegraph/group-creater/progress/update-position/dynamic-set-y.js.map +1 -1
- package/es/scenegraph/group-creater/progress/update-position/update-auto-column.d.ts +2 -0
- package/es/scenegraph/group-creater/progress/update-position/update-auto-column.js +29 -0
- package/es/scenegraph/group-creater/progress/update-position/update-auto-column.js.map +1 -0
- package/es/scenegraph/group-creater/progress/update-position/update-auto-row.js.map +1 -1
- package/es/scenegraph/group-creater/progress/update-position/util.d.ts +8 -0
- package/es/scenegraph/group-creater/progress/update-position/util.js +60 -0
- package/es/scenegraph/group-creater/progress/update-position/util.js.map +1 -0
- package/es/scenegraph/layout/frozen.d.ts +2 -0
- package/es/scenegraph/layout/frozen.js +137 -3
- package/es/scenegraph/layout/frozen.js.map +1 -1
- package/es/scenegraph/layout/update-height.js +2 -1
- package/es/scenegraph/layout/update-height.js.map +1 -1
- package/es/scenegraph/layout/update-width.js +39 -64
- package/es/scenegraph/layout/update-width.js.map +1 -1
- package/es/scenegraph/refresh-node/update-chart.js +9 -5
- package/es/scenegraph/refresh-node/update-chart.js.map +1 -1
- package/es/scenegraph/scenegraph.d.ts +9 -4
- package/es/scenegraph/scenegraph.js +35 -100
- package/es/scenegraph/scenegraph.js.map +1 -1
- package/es/scenegraph/style/corner-cell.d.ts +2 -2
- package/es/scenegraph/style/corner-cell.js +4 -7
- package/es/scenegraph/style/corner-cell.js.map +1 -1
- package/es/state/hover/update-position.js +1 -1
- package/es/state/hover/update-position.js.map +1 -1
- package/es/ts-types/base-table.d.ts +7 -0
- package/es/ts-types/base-table.js.map +1 -1
- package/es/ts-types/table-engine.d.ts +1 -1
- package/es/ts-types/table-engine.js.map +1 -1
- package/package.json +2 -2
package/es/event/drill.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import type { PivotTableAPI } from '../ts-types';
|
|
1
2
|
import type { BaseTableAPI } from '../ts-types/base-table';
|
|
2
3
|
export declare function bindDrillEvent(table: BaseTableAPI): void;
|
|
3
4
|
export declare function drillClick(table: BaseTableAPI): void;
|
|
5
|
+
export declare function checkHaveDrill(table: PivotTableAPI): boolean;
|
package/es/event/drill.js
CHANGED
|
@@ -14,4 +14,17 @@ export function bindDrillEvent(table) {
|
|
|
14
14
|
export function drillClick(table) {
|
|
15
15
|
table.fireListeners(PIVOT_TABLE_EVENT_TYPE.DRILLMENU_CLICK, table.stateManeger.drill);
|
|
16
16
|
}
|
|
17
|
+
|
|
18
|
+
export function checkHaveDrill(table) {
|
|
19
|
+
const rowsDefine = table.internalProps.layoutMap.rowsDefine, columnsDefine = table.internalProps.layoutMap.columnsDefine;
|
|
20
|
+
for (let i = 0; i < rowsDefine.length; i++) {
|
|
21
|
+
const row = rowsDefine[i];
|
|
22
|
+
if ("string" != typeof row && (row.drillDown || row.drillUp)) return !0;
|
|
23
|
+
}
|
|
24
|
+
for (let i = 0; i < columnsDefine.length; i++) {
|
|
25
|
+
const column = columnsDefine[i];
|
|
26
|
+
if ("string" != typeof column && (column.drillDown || column.drillUp)) return !0;
|
|
27
|
+
}
|
|
28
|
+
return !1;
|
|
29
|
+
}
|
|
17
30
|
//# sourceMappingURL=drill.js.map
|
package/es/event/drill.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["event/drill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAI5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AAExF,MAAM,UAAU,cAAc,CAAC,KAAmB;IAChD,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAAC,eAAe,EAAE,CAAC,CAAwB,EAAE,EAAE;QAKtE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACvB,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE;YAC5B,OAAO;SACR;QACD,MAAM,SAAS,GAAI,KAAK,CAAC,aAAa,CAAC,SAAkC,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACvG,IAAI,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,SAAS,MAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,CAAA,EAAE;YAC9C,KAAK,CAAC,YAAY,CAAC,gBAAgB,CACjC,SAAS,CAAC,YAAY,EACtB,SAAS,CAAC,cAAc,EACxB,SAAS,CAAC,SAAS,EACnB,SAAS,CAAC,OAAO,EACjB,GAAG,EACH,GAAG,CACJ,CAAC;SACH;aAAM;YACL,KAAK,CAAC,YAAY,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SACjF;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAmB;IAC5C,KAAK,CAAC,aAAa,CAAC,sBAAsB,CAAC,eAAe,EAAE,KAAK,CAAC,YAAY,CAAC,KAA2B,CAAC,CAAC;AAC9G,CAAC","file":"drill.js","sourcesContent":["import { TABLE_EVENT_TYPE } from '../core/TABLE_EVENT_TYPE';\nimport type { PivotHeaderLayoutMap } from '../layout/pivot-header-layout';\nimport type { DrillMenuEventInfo, MousePointerCellEvent } from '../ts-types';\nimport type { BaseTableAPI } from '../ts-types/base-table';\nimport { PIVOT_TABLE_EVENT_TYPE } from '../ts-types/pivot-table/PIVOT_TABLE_EVENT_TYPE';\n\nexport function bindDrillEvent(table: BaseTableAPI) {\n table.on(TABLE_EVENT_TYPE.MOUSEENTER_CELL, (e: MousePointerCellEvent) => {\n //是否需要显示出上钻下钻按钮\n // if (!table.isPivotTable()) {\n // return;\n // }\n const { col, row } = e;\n if (col === -1 || row === -1) {\n return;\n }\n const dimension = (table.internalProps.layoutMap as PivotHeaderLayoutMap).getHeaderDimension(col, row);\n if (dimension?.drillDown || dimension?.drillUp) {\n table.stateManeger.updateDrillState(\n dimension.dimensionKey,\n dimension.dimensionTitle,\n dimension.drillDown,\n dimension.drillUp,\n col,\n row\n );\n } else {\n table.stateManeger.updateDrillState(undefined, undefined, false, false, -1, -1);\n }\n });\n}\n\nexport function drillClick(table: BaseTableAPI) {\n table.fireListeners(PIVOT_TABLE_EVENT_TYPE.DRILLMENU_CLICK, table.stateManeger.drill as DrillMenuEventInfo);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["event/drill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAI5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AAExF,MAAM,UAAU,cAAc,CAAC,KAAmB;IAChD,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAAC,eAAe,EAAE,CAAC,CAAwB,EAAE,EAAE;QAKtE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACvB,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE;YAC5B,OAAO;SACR;QACD,MAAM,SAAS,GAAI,KAAK,CAAC,aAAa,CAAC,SAAkC,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACvG,IAAI,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,SAAS,MAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,CAAA,EAAE;YAC9C,KAAK,CAAC,YAAY,CAAC,gBAAgB,CACjC,SAAS,CAAC,YAAY,EACtB,SAAS,CAAC,cAAc,EACxB,SAAS,CAAC,SAAS,EACnB,SAAS,CAAC,OAAO,EACjB,GAAG,EACH,GAAG,CACJ,CAAC;SACH;aAAM;YACL,KAAK,CAAC,YAAY,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SACjF;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAmB;IAC5C,KAAK,CAAC,aAAa,CAAC,sBAAsB,CAAC,eAAe,EAAE,KAAK,CAAC,YAAY,CAAC,KAA2B,CAAC,CAAC;AAC9G,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAoB;IACjD,MAAM,UAAU,GAAI,KAAK,CAAC,aAAa,CAAC,SAAkC,CAAC,UAAU,CAAC;IACtF,MAAM,aAAa,GAAI,KAAK,CAAC,aAAa,CAAC,SAAkC,CAAC,aAAa,CAAC;IAC5F,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC1C,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,OAAO,CAAC,EAAE;YAC7D,OAAO,IAAI,CAAC;SACb;KACF;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC7C,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QAChC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE;YACtE,OAAO,IAAI,CAAC;SACb;KACF;IACD,OAAO,KAAK,CAAC;AACf,CAAC","file":"drill.js","sourcesContent":["import { TABLE_EVENT_TYPE } from '../core/TABLE_EVENT_TYPE';\nimport type { PivotHeaderLayoutMap } from '../layout/pivot-header-layout';\nimport type { DrillMenuEventInfo, MousePointerCellEvent, PivotTableAPI } from '../ts-types';\nimport type { BaseTableAPI } from '../ts-types/base-table';\nimport { PIVOT_TABLE_EVENT_TYPE } from '../ts-types/pivot-table/PIVOT_TABLE_EVENT_TYPE';\n\nexport function bindDrillEvent(table: BaseTableAPI) {\n table.on(TABLE_EVENT_TYPE.MOUSEENTER_CELL, (e: MousePointerCellEvent) => {\n //是否需要显示出上钻下钻按钮\n // if (!table.isPivotTable()) {\n // return;\n // }\n const { col, row } = e;\n if (col === -1 || row === -1) {\n return;\n }\n const dimension = (table.internalProps.layoutMap as PivotHeaderLayoutMap).getHeaderDimension(col, row);\n if (dimension?.drillDown || dimension?.drillUp) {\n table.stateManeger.updateDrillState(\n dimension.dimensionKey,\n dimension.dimensionTitle,\n dimension.drillDown,\n dimension.drillUp,\n col,\n row\n );\n } else {\n table.stateManeger.updateDrillState(undefined, undefined, false, false, -1, -1);\n }\n });\n}\n\nexport function drillClick(table: BaseTableAPI) {\n table.fireListeners(PIVOT_TABLE_EVENT_TYPE.DRILLMENU_CLICK, table.stateManeger.drill as DrillMenuEventInfo);\n}\n\nexport function checkHaveDrill(table: PivotTableAPI) {\n const rowsDefine = (table.internalProps.layoutMap as PivotHeaderLayoutMap).rowsDefine;\n const columnsDefine = (table.internalProps.layoutMap as PivotHeaderLayoutMap).columnsDefine;\n for (let i = 0; i < rowsDefine.length; i++) {\n const row = rowsDefine[i];\n if (typeof row !== 'string' && (row.drillDown || row.drillUp)) {\n return true;\n }\n }\n for (let i = 0; i < columnsDefine.length; i++) {\n const column = columnsDefine[i];\n if (typeof column !== 'string' && (column.drillDown || column.drillUp)) {\n return true;\n }\n }\n return false;\n}\n"]}
|
package/es/event/event.js
CHANGED
|
@@ -8,7 +8,7 @@ import { checkCellInSelect } from "../state/common/check-in-select";
|
|
|
8
8
|
|
|
9
9
|
import { bindMediaClick } from "./media-click";
|
|
10
10
|
|
|
11
|
-
import { bindDrillEvent, drillClick } from "./drill";
|
|
11
|
+
import { bindDrillEvent, checkHaveDrill, drillClick } from "./drill";
|
|
12
12
|
|
|
13
13
|
import { bindSparklineHoverEvent } from "./sparkline-event";
|
|
14
14
|
|
|
@@ -53,8 +53,8 @@ export class EventManeger {
|
|
|
53
53
|
const eventArgsSet = getCellEventArgsSet(e.federatedEvent), resizeCol = this.table.scenegraph.getResizeColAt(eventArgsSet.abstractPos.x, eventArgsSet.abstractPos.y, null === (_a = eventArgsSet.eventArgs) || void 0 === _a ? void 0 : _a.targetCell);
|
|
54
54
|
this.table._canResizeColumn(resizeCol.col, resizeCol.row) && resizeCol.col >= 0 && this.table.scenegraph.updateAutoColWidth(resizeCol.col);
|
|
55
55
|
}
|
|
56
|
-
})), this.table.isPivotTable() &&
|
|
57
|
-
bindAxisClickEvent(this.table), bindAxisHoverEvent(this.table);
|
|
56
|
+
})), this.table.isPivotTable() && checkHaveDrill(this.table) && bindDrillEvent(this.table),
|
|
57
|
+
bindSparklineHoverEvent(this.table), bindAxisClickEvent(this.table), bindAxisHoverEvent(this.table);
|
|
58
58
|
}
|
|
59
59
|
dealTableHover(eventArgsSet) {
|
|
60
60
|
if (!eventArgsSet) return void this.table.stateManeger.updateHoverPos(-1, -1);
|
package/es/event/event.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["event/event.ts"],"names":[],"mappings":"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","file":"event.js","sourcesContent":["// import { FederatedPointerEvent } from '@visactor/vrender';\nimport type { FederatedPointerEvent, IEventTarget } from '@visactor/vrender';\nimport { RichText } from '@visactor/vrender';\nimport type { MousePointerCellEvent } from '../ts-types';\nimport { IconFuncTypeEnum } from '../ts-types';\nimport type { StateManeger } from '../state/state';\nimport type { Group } from '../scenegraph/graphic/group';\nimport { TABLE_EVENT_TYPE } from '../core/TABLE_EVENT_TYPE';\nimport type { Icon } from '../scenegraph/graphic/icon';\nimport { checkCellInSelect } from '../state/common/check-in-select';\nimport { bindMediaClick } from './media-click';\nimport { bindDrillEvent, drillClick } from './drill';\nimport { bindSparklineHoverEvent } from './sparkline-event';\nimport type { BaseTableAPI } from '../ts-types/base-table';\nimport { checkHaveTextStick, handleTextStick } from '../scenegraph/stick-text';\nimport { bindTableGroupListener } from './listener/table-group';\nimport { bindScrollBarListener } from './listener/scroll-bar';\nimport { bindContainerDomListener } from './listener/container-dom';\nimport { bindTouchListener } from './listener/touch';\nimport { getCellEventArgsSet, type SceneEvent } from './util';\nimport { bindAxisClickEvent } from './pivot-chart/axis-click';\nimport { bindAxisHoverEvent } from './pivot-chart/axis-hover';\n\nexport class EventManeger {\n table: BaseTableAPI;\n // _col: number;\n // _resizing: boolean = false;\n\n isTouchdown: boolean; // touch scrolling mode on\n touchMovePoints: {\n x: number;\n y: number;\n timestamp: number;\n }[]; // touch points record in touch scrolling mode\n touchSetTimeout: any; // touch start timeout, use to distinguish touch scrolling mode and default touch event\n touchEnd: boolean; // is touch event end when default touch event listener response\n touchMove: boolean; // is touch listener working, use to disable document touch scrolling function\n constructor(table: BaseTableAPI) {\n this.table = table;\n this.bindOuterEvent();\n setTimeout(() => {\n this.bindSelfEvent();\n }, 0);\n }\n\n // 绑定DOM事件\n bindOuterEvent() {\n bindTableGroupListener(this);\n bindContainerDomListener(this);\n bindScrollBarListener(this);\n bindTouchListener(this);\n }\n\n bindSelfEvent() {\n const stateManeger: StateManeger = this.table.stateManeger;\n\n // 图标点击\n this.table.on(TABLE_EVENT_TYPE.ICON_CLICK, iconInfo => {\n const { col, row, x, y, funcType, icon } = iconInfo;\n // 下拉菜单按钮点击\n if (funcType === IconFuncTypeEnum.dropDown) {\n stateManeger.triggerDropDownMenu(col, row, x, y);\n } else if (funcType === IconFuncTypeEnum.sort) {\n stateManeger.triggerSort(col, row, icon);\n } else if (funcType === IconFuncTypeEnum.frozen) {\n stateManeger.triggerFreeze(col, row, icon);\n } else if (funcType === IconFuncTypeEnum.drillDown) {\n drillClick(this.table);\n } else if (funcType === IconFuncTypeEnum.collapse || funcType === IconFuncTypeEnum.expand) {\n this.table.toggleHierarchyState(col, row);\n }\n });\n\n // 下拉菜单内容点击\n this.table.on(TABLE_EVENT_TYPE.DROPDOWNMENU_CLICK, () => {\n stateManeger.hideMenu();\n });\n\n // 处理textStick\n if (checkHaveTextStick(this.table)) {\n this.table.on(TABLE_EVENT_TYPE.SCROLL, e => {\n handleTextStick(this.table);\n });\n }\n\n // link/image/video点击\n bindMediaClick(this.table);\n\n // 双击自动列宽\n this.table.on(TABLE_EVENT_TYPE.DBLCLICK_CELL, (e: MousePointerCellEvent) => {\n if (e.federatedEvent) {\n const eventArgsSet = getCellEventArgsSet(e.federatedEvent as any);\n const resizeCol = this.table.scenegraph.getResizeColAt(\n eventArgsSet.abstractPos.x,\n eventArgsSet.abstractPos.y,\n eventArgsSet.eventArgs?.targetCell\n );\n if (this.table._canResizeColumn(resizeCol.col, resizeCol.row) && resizeCol.col >= 0) {\n this.table.scenegraph.updateAutoColWidth(resizeCol.col);\n }\n }\n });\n\n // drill icon\n if (this.table.isPivotTable()) {\n bindDrillEvent(this.table);\n }\n\n // chart hover\n bindSparklineHoverEvent(this.table);\n\n // axis click\n bindAxisClickEvent(this.table);\n\n // chart axis event\n bindAxisHoverEvent(this.table);\n }\n\n dealTableHover(eventArgsSet?: SceneEvent) {\n if (!eventArgsSet) {\n this.table.stateManeger.updateHoverPos(-1, -1);\n return;\n }\n const { eventArgs } = eventArgsSet;\n\n if (eventArgs) {\n this.table.stateManeger.updateHoverPos(eventArgs.col, eventArgs.row);\n } else {\n this.table.stateManeger.updateHoverPos(-1, -1);\n }\n }\n\n dealIconHover(eventArgsSet: SceneEvent) {\n const { eventArgs } = eventArgsSet;\n\n if (eventArgs) {\n this.table.stateManeger.updateHoverIcon(\n eventArgs.col,\n eventArgs.row,\n eventArgs.target,\n eventArgs.targetCell,\n eventArgs.event\n );\n } else {\n this.table.stateManeger.updateHoverIcon(-1, -1, undefined, undefined);\n }\n }\n\n dealMenuHover(eventArgsSet: SceneEvent) {\n // menu自身状态实现\n }\n\n dealTableSelect(eventArgsSet?: SceneEvent): boolean {\n if (!eventArgsSet) {\n this.table.stateManeger.updateSelectPos(-1, -1);\n return false;\n }\n const { eventArgs } = eventArgsSet;\n\n if (eventArgs) {\n // 注意:如果启用下面这句代码逻辑 则在点击选中单元格时失效hover效果。但是会导致chart实例的click事件失效,所以先特殊处理这个逻辑\n if (!this.table.isPivotChart() && eventArgsSet?.eventArgs?.target.type !== 'chart') {\n this.table.stateManeger.updateHoverPos(-1, -1);\n }\n\n if (\n this.table.isPivotChart() &&\n (eventArgsSet?.eventArgs?.target.name === 'axis-label' || eventArgsSet?.eventArgs?.target.type === 'chart')\n ) {\n // 点击透视图坐标轴标签或图标内容,执行图表状态更新,不触发Select\n this.table.stateManeger.updateSelectPos(-1, -1);\n return false;\n }\n this.table.stateManeger.updateSelectPos(\n eventArgs.col,\n eventArgs.row,\n eventArgs.event.shiftKey,\n eventArgs.event.ctrlKey || eventArgs.event.metaKey\n );\n return true;\n }\n // this.table.stateManeger.updateSelectPos(-1, -1); 这句有问题 如drag框选鼠标超出表格范围 这里就直接情况是不对的\n return false;\n }\n\n deelTableSelectAll() {\n this.table.stateManeger.updateSelectPos(-1, -1, false, false, true);\n }\n\n dealMenuSelect(eventArgsSet: SceneEvent) {\n // do nothing\n }\n\n checkColumnResize(eventArgsSet: SceneEvent, update?: boolean): boolean {\n // return false;\n const { eventArgs } = eventArgsSet;\n\n if (eventArgs) {\n const resizeCol = this.table.scenegraph.getResizeColAt(\n eventArgsSet.abstractPos.x,\n eventArgsSet.abstractPos.y,\n eventArgs.targetCell\n );\n if (this.table._canResizeColumn(resizeCol.col, resizeCol.row) && resizeCol.col >= 0) {\n // this.table.stateManeger.updateResizeCol(resizeCol.col, eventArgsSet.abstractPos.x, first);\n // this._col = resizeCol.col;\n if (update) {\n this.table.stateManeger.startResizeCol(resizeCol.col, eventArgsSet.abstractPos.x, eventArgsSet.abstractPos.y);\n }\n return true;\n }\n }\n\n return false;\n }\n\n dealColumnResize(xInTable: number, yInTable: number) {\n this.table.stateManeger.updateResizeCol(xInTable, yInTable);\n }\n\n chechColumnMover(eventArgsSet: SceneEvent): boolean {\n // return false;\n const { eventArgs } = eventArgsSet;\n\n if (\n eventArgs &&\n this.table.isHeader(eventArgs.col, eventArgs.row) &&\n checkCellInSelect(eventArgs.col, eventArgs.row, this.table.stateManeger.select.ranges) &&\n // this.table.stateManeger.select.cellPosStart.col === eventArgs.col &&\n // this.table.stateManeger.select.cellPosStart.row === eventArgs.row &&\n this.table._canDragHeaderPosition(eventArgs.col, eventArgs.row)\n ) {\n this.table.stateManeger.startMoveCol(\n eventArgs.col,\n eventArgs.row,\n eventArgsSet.abstractPos.x,\n eventArgsSet.abstractPos.y\n );\n return true;\n }\n\n return false;\n }\n\n dealColumnMover(eventArgsSet: SceneEvent) {\n const { eventArgs } = eventArgsSet;\n this.table.stateManeger.updateMoveCol(\n eventArgs.col,\n eventArgs.row,\n eventArgsSet.abstractPos.x,\n eventArgsSet.abstractPos.y\n );\n }\n\n startColumnResize(eventArgsSet: SceneEvent) {\n // do nothing\n }\n\n dealIconClick(e: FederatedPointerEvent, eventArgsSet: SceneEvent): boolean {\n const { eventArgs } = eventArgsSet;\n // if (!eventArgs) {\n // return false;\n // }\n\n const { target, event, col, row } = eventArgs || {\n target: e.target,\n event: e,\n col: -1,\n row: -1\n };\n const icon = target as unknown as Icon;\n\n if (icon.role && icon.role.startsWith('icon-')) {\n this.table.fireListeners(TABLE_EVENT_TYPE.ICON_CLICK, {\n name: icon.name,\n // 默认位置:icon中部正下方\n x: (icon.globalAABBBounds.x1 + icon.globalAABBBounds.x2) / 2,\n y: icon.globalAABBBounds.y2,\n col,\n row,\n funcType: icon.attribute.funcType,\n icon\n });\n\n return true;\n } else if (target instanceof RichText) {\n const icon = target.pickIcon(event.global);\n if (icon) {\n this.table.fireListeners(TABLE_EVENT_TYPE.ICON_CLICK, {\n name: icon.attribute.id,\n // 默认位置:icon中部正下方\n x: icon.globalX + icon.globalAABBBounds.width() / 2,\n y: icon.globalY + icon.AABBBounds.height(),\n col,\n row,\n funcType: (icon.attribute as any).funcType,\n icon: icon as unknown as Icon\n });\n return true;\n }\n }\n\n return false;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["event/event.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAG/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAE5D,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAmB,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAG9D,MAAM,OAAO,YAAY;IAcvB,YAAY,KAAmB;QAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC,EAAE,CAAC,CAAC,CAAC;IACR,CAAC;IAGD,cAAc;QACZ,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAC7B,wBAAwB,CAAC,IAAI,CAAC,CAAC;QAC/B,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC5B,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,aAAa;QACX,MAAM,YAAY,GAAiB,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;QAG3D,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE;YACpD,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC;YAEpD,IAAI,QAAQ,KAAK,gBAAgB,CAAC,QAAQ,EAAE;gBAC1C,YAAY,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;aAClD;iBAAM,IAAI,QAAQ,KAAK,gBAAgB,CAAC,IAAI,EAAE;gBAC7C,YAAY,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;aAC1C;iBAAM,IAAI,QAAQ,KAAK,gBAAgB,CAAC,MAAM,EAAE;gBAC/C,YAAY,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;aAC5C;iBAAM,IAAI,QAAQ,KAAK,gBAAgB,CAAC,SAAS,EAAE;gBAClD,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACxB;iBAAM,IAAI,QAAQ,KAAK,gBAAgB,CAAC,QAAQ,IAAI,QAAQ,KAAK,gBAAgB,CAAC,MAAM,EAAE;gBACzF,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;aAC3C;QACH,CAAC,CAAC,CAAC;QAGH,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,GAAG,EAAE;YACtD,YAAY,CAAC,QAAQ,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;QAGH,IAAI,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE;gBACzC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC9B,CAAC,CAAC,CAAC;SACJ;QAGD,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAG3B,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC,CAAwB,EAAE,EAAE;;YACzE,IAAI,CAAC,CAAC,cAAc,EAAE;gBACpB,MAAM,YAAY,GAAG,mBAAmB,CAAC,CAAC,CAAC,cAAqB,CAAC,CAAC;gBAClE,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,cAAc,CACpD,YAAY,CAAC,WAAW,CAAC,CAAC,EAC1B,YAAY,CAAC,WAAW,CAAC,CAAC,EAC1B,MAAA,YAAY,CAAC,SAAS,0CAAE,UAAU,CACnC,CAAC;gBACF,IAAI,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,GAAG,IAAI,CAAC,EAAE;oBACnF,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;iBACzD;aACF;QACH,CAAC,CAAC,CAAC;QAGH,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,cAAc,CAAC,IAAI,CAAC,KAAmB,CAAC,EAAE;YACzE,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC5B;QAGD,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAGpC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAG/B,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,cAAc,CAAC,YAAyB;QACtC,IAAI,CAAC,YAAY,EAAE;YACjB,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/C,OAAO;SACR;QACD,MAAM,EAAE,SAAS,EAAE,GAAG,YAAY,CAAC;QAEnC,IAAI,SAAS,EAAE;YACb,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;SACtE;aAAM;YACL,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SAChD;IACH,CAAC;IAED,aAAa,CAAC,YAAwB;QACpC,MAAM,EAAE,SAAS,EAAE,GAAG,YAAY,CAAC;QAEnC,IAAI,SAAS,EAAE;YACb,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,CACrC,SAAS,CAAC,GAAG,EACb,SAAS,CAAC,GAAG,EACb,SAAS,CAAC,MAAM,EAChB,SAAS,CAAC,UAAU,EACpB,SAAS,CAAC,KAAK,CAChB,CAAC;SACH;aAAM;YACL,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;SACvE;IACH,CAAC;IAED,aAAa,CAAC,YAAwB;IAEtC,CAAC;IAED,eAAe,CAAC,YAAyB;;QACvC,IAAI,CAAC,YAAY,EAAE;YACjB,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAChD,OAAO,KAAK,CAAC;SACd;QACD,MAAM,EAAE,SAAS,EAAE,GAAG,YAAY,CAAC;QAEnC,IAAI,SAAS,EAAE;YAEb,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,CAAA,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,SAAS,0CAAE,MAAM,CAAC,IAAI,MAAK,OAAO,EAAE;gBAClF,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aAChD;YAED,IACE,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;gBACzB,CAAC,CAAA,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,SAAS,0CAAE,MAAM,CAAC,IAAI,MAAK,YAAY,IAAI,CAAA,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,SAAS,0CAAE,MAAM,CAAC,IAAI,MAAK,OAAO,CAAC,EAC3G;gBAEA,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAChD,OAAO,KAAK,CAAC;aACd;YACD,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,CACrC,SAAS,CAAC,GAAG,EACb,SAAS,CAAC,GAAG,EACb,SAAS,CAAC,KAAK,CAAC,QAAQ,EACxB,SAAS,CAAC,KAAK,CAAC,OAAO,IAAI,SAAS,CAAC,KAAK,CAAC,OAAO,CACnD,CAAC;YACF,OAAO,IAAI,CAAC;SACb;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACtE,CAAC;IAED,cAAc,CAAC,YAAwB;IAEvC,CAAC;IAED,iBAAiB,CAAC,YAAwB,EAAE,MAAgB;QAE1D,MAAM,EAAE,SAAS,EAAE,GAAG,YAAY,CAAC;QAEnC,IAAI,SAAS,EAAE;YACb,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,cAAc,CACpD,YAAY,CAAC,WAAW,CAAC,CAAC,EAC1B,YAAY,CAAC,WAAW,CAAC,CAAC,EAC1B,SAAS,CAAC,UAAU,CACrB,CAAC;YACF,IAAI,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,GAAG,IAAI,CAAC,EAAE;gBAGnF,IAAI,MAAM,EAAE;oBACV,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC,SAAS,CAAC,GAAG,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;iBAC/G;gBACD,OAAO,IAAI,CAAC;aACb;SACF;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,gBAAgB,CAAC,QAAgB,EAAE,QAAgB;QACjD,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC9D,CAAC;IAED,gBAAgB,CAAC,YAAwB;QAEvC,MAAM,EAAE,SAAS,EAAE,GAAG,YAAY,CAAC;QAEnC,IACE,SAAS;YACT,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC;YACjD,iBAAiB,CAAC,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC;YAGtF,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAC/D;YACA,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,CAClC,SAAS,CAAC,GAAG,EACb,SAAS,CAAC,GAAG,EACb,YAAY,CAAC,WAAW,CAAC,CAAC,EAC1B,YAAY,CAAC,WAAW,CAAC,CAAC,CAC3B,CAAC;YACF,OAAO,IAAI,CAAC;SACb;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,eAAe,CAAC,YAAwB;QACtC,MAAM,EAAE,SAAS,EAAE,GAAG,YAAY,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,CACnC,SAAS,CAAC,GAAG,EACb,SAAS,CAAC,GAAG,EACb,YAAY,CAAC,WAAW,CAAC,CAAC,EAC1B,YAAY,CAAC,WAAW,CAAC,CAAC,CAC3B,CAAC;IACJ,CAAC;IAED,iBAAiB,CAAC,YAAwB;IAE1C,CAAC;IAED,aAAa,CAAC,CAAwB,EAAE,YAAwB;QAC9D,MAAM,EAAE,SAAS,EAAE,GAAG,YAAY,CAAC;QAKnC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,SAAS,IAAI;YAC/C,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,CAAC,CAAC;YACP,GAAG,EAAE,CAAC,CAAC;SACR,CAAC;QACF,MAAM,IAAI,GAAG,MAAyB,CAAC;QAEvC,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;YAC9C,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,UAAU,EAAE;gBACpD,IAAI,EAAE,IAAI,CAAC,IAAI;gBAEf,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,CAAC;gBAC5D,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,EAAE;gBAC3B,GAAG;gBACH,GAAG;gBACH,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ;gBACjC,IAAI;aACL,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC;SACb;aAAM,IAAI,MAAM,YAAY,QAAQ,EAAE;YACrC,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC3C,IAAI,IAAI,EAAE;gBACR,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,UAAU,EAAE;oBACpD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE;oBAEvB,CAAC,EAAE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,GAAG,CAAC;oBACnD,CAAC,EAAE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;oBAC1C,GAAG;oBACH,GAAG;oBACH,QAAQ,EAAG,IAAI,CAAC,SAAiB,CAAC,QAAQ;oBAC1C,IAAI,EAAE,IAAuB;iBAC9B,CAAC,CAAC;gBACH,OAAO,IAAI,CAAC;aACb;SACF;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CACF","file":"event.js","sourcesContent":["// import { FederatedPointerEvent } from '@visactor/vrender';\nimport type { FederatedPointerEvent, IEventTarget } from '@visactor/vrender';\nimport { RichText } from '@visactor/vrender';\nimport type { MousePointerCellEvent } from '../ts-types';\nimport { IconFuncTypeEnum } from '../ts-types';\nimport type { StateManeger } from '../state/state';\nimport type { Group } from '../scenegraph/graphic/group';\nimport { TABLE_EVENT_TYPE } from '../core/TABLE_EVENT_TYPE';\nimport type { Icon } from '../scenegraph/graphic/icon';\nimport { checkCellInSelect } from '../state/common/check-in-select';\nimport { bindMediaClick } from './media-click';\nimport { bindDrillEvent, checkHaveDrill, drillClick } from './drill';\nimport { bindSparklineHoverEvent } from './sparkline-event';\nimport type { BaseTableAPI } from '../ts-types/base-table';\nimport { checkHaveTextStick, handleTextStick } from '../scenegraph/stick-text';\nimport { bindTableGroupListener } from './listener/table-group';\nimport { bindScrollBarListener } from './listener/scroll-bar';\nimport { bindContainerDomListener } from './listener/container-dom';\nimport { bindTouchListener } from './listener/touch';\nimport { getCellEventArgsSet, type SceneEvent } from './util';\nimport { bindAxisClickEvent } from './pivot-chart/axis-click';\nimport { bindAxisHoverEvent } from './pivot-chart/axis-hover';\nimport type { PivotTable } from '../PivotTable';\n\nexport class EventManeger {\n table: BaseTableAPI;\n // _col: number;\n // _resizing: boolean = false;\n\n isTouchdown: boolean; // touch scrolling mode on\n touchMovePoints: {\n x: number;\n y: number;\n timestamp: number;\n }[]; // touch points record in touch scrolling mode\n touchSetTimeout: any; // touch start timeout, use to distinguish touch scrolling mode and default touch event\n touchEnd: boolean; // is touch event end when default touch event listener response\n touchMove: boolean; // is touch listener working, use to disable document touch scrolling function\n constructor(table: BaseTableAPI) {\n this.table = table;\n this.bindOuterEvent();\n setTimeout(() => {\n this.bindSelfEvent();\n }, 0);\n }\n\n // 绑定DOM事件\n bindOuterEvent() {\n bindTableGroupListener(this);\n bindContainerDomListener(this);\n bindScrollBarListener(this);\n bindTouchListener(this);\n }\n\n bindSelfEvent() {\n const stateManeger: StateManeger = this.table.stateManeger;\n\n // 图标点击\n this.table.on(TABLE_EVENT_TYPE.ICON_CLICK, iconInfo => {\n const { col, row, x, y, funcType, icon } = iconInfo;\n // 下拉菜单按钮点击\n if (funcType === IconFuncTypeEnum.dropDown) {\n stateManeger.triggerDropDownMenu(col, row, x, y);\n } else if (funcType === IconFuncTypeEnum.sort) {\n stateManeger.triggerSort(col, row, icon);\n } else if (funcType === IconFuncTypeEnum.frozen) {\n stateManeger.triggerFreeze(col, row, icon);\n } else if (funcType === IconFuncTypeEnum.drillDown) {\n drillClick(this.table);\n } else if (funcType === IconFuncTypeEnum.collapse || funcType === IconFuncTypeEnum.expand) {\n this.table.toggleHierarchyState(col, row);\n }\n });\n\n // 下拉菜单内容点击\n this.table.on(TABLE_EVENT_TYPE.DROPDOWNMENU_CLICK, () => {\n stateManeger.hideMenu();\n });\n\n // 处理textStick\n if (checkHaveTextStick(this.table)) {\n this.table.on(TABLE_EVENT_TYPE.SCROLL, e => {\n handleTextStick(this.table);\n });\n }\n\n // link/image/video点击\n bindMediaClick(this.table);\n\n // 双击自动列宽\n this.table.on(TABLE_EVENT_TYPE.DBLCLICK_CELL, (e: MousePointerCellEvent) => {\n if (e.federatedEvent) {\n const eventArgsSet = getCellEventArgsSet(e.federatedEvent as any);\n const resizeCol = this.table.scenegraph.getResizeColAt(\n eventArgsSet.abstractPos.x,\n eventArgsSet.abstractPos.y,\n eventArgsSet.eventArgs?.targetCell\n );\n if (this.table._canResizeColumn(resizeCol.col, resizeCol.row) && resizeCol.col >= 0) {\n this.table.scenegraph.updateAutoColWidth(resizeCol.col);\n }\n }\n });\n\n // drill icon\n if (this.table.isPivotTable() && checkHaveDrill(this.table as PivotTable)) {\n bindDrillEvent(this.table);\n }\n\n // chart hover\n bindSparklineHoverEvent(this.table);\n\n // axis click\n bindAxisClickEvent(this.table);\n\n // chart axis event\n bindAxisHoverEvent(this.table);\n }\n\n dealTableHover(eventArgsSet?: SceneEvent) {\n if (!eventArgsSet) {\n this.table.stateManeger.updateHoverPos(-1, -1);\n return;\n }\n const { eventArgs } = eventArgsSet;\n\n if (eventArgs) {\n this.table.stateManeger.updateHoverPos(eventArgs.col, eventArgs.row);\n } else {\n this.table.stateManeger.updateHoverPos(-1, -1);\n }\n }\n\n dealIconHover(eventArgsSet: SceneEvent) {\n const { eventArgs } = eventArgsSet;\n\n if (eventArgs) {\n this.table.stateManeger.updateHoverIcon(\n eventArgs.col,\n eventArgs.row,\n eventArgs.target,\n eventArgs.targetCell,\n eventArgs.event\n );\n } else {\n this.table.stateManeger.updateHoverIcon(-1, -1, undefined, undefined);\n }\n }\n\n dealMenuHover(eventArgsSet: SceneEvent) {\n // menu自身状态实现\n }\n\n dealTableSelect(eventArgsSet?: SceneEvent): boolean {\n if (!eventArgsSet) {\n this.table.stateManeger.updateSelectPos(-1, -1);\n return false;\n }\n const { eventArgs } = eventArgsSet;\n\n if (eventArgs) {\n // 注意:如果启用下面这句代码逻辑 则在点击选中单元格时失效hover效果。但是会导致chart实例的click事件失效,所以先特殊处理这个逻辑\n if (!this.table.isPivotChart() && eventArgsSet?.eventArgs?.target.type !== 'chart') {\n this.table.stateManeger.updateHoverPos(-1, -1);\n }\n\n if (\n this.table.isPivotChart() &&\n (eventArgsSet?.eventArgs?.target.name === 'axis-label' || eventArgsSet?.eventArgs?.target.type === 'chart')\n ) {\n // 点击透视图坐标轴标签或图标内容,执行图表状态更新,不触发Select\n this.table.stateManeger.updateSelectPos(-1, -1);\n return false;\n }\n this.table.stateManeger.updateSelectPos(\n eventArgs.col,\n eventArgs.row,\n eventArgs.event.shiftKey,\n eventArgs.event.ctrlKey || eventArgs.event.metaKey\n );\n return true;\n }\n // this.table.stateManeger.updateSelectPos(-1, -1); 这句有问题 如drag框选鼠标超出表格范围 这里就直接情况是不对的\n return false;\n }\n\n deelTableSelectAll() {\n this.table.stateManeger.updateSelectPos(-1, -1, false, false, true);\n }\n\n dealMenuSelect(eventArgsSet: SceneEvent) {\n // do nothing\n }\n\n checkColumnResize(eventArgsSet: SceneEvent, update?: boolean): boolean {\n // return false;\n const { eventArgs } = eventArgsSet;\n\n if (eventArgs) {\n const resizeCol = this.table.scenegraph.getResizeColAt(\n eventArgsSet.abstractPos.x,\n eventArgsSet.abstractPos.y,\n eventArgs.targetCell\n );\n if (this.table._canResizeColumn(resizeCol.col, resizeCol.row) && resizeCol.col >= 0) {\n // this.table.stateManeger.updateResizeCol(resizeCol.col, eventArgsSet.abstractPos.x, first);\n // this._col = resizeCol.col;\n if (update) {\n this.table.stateManeger.startResizeCol(resizeCol.col, eventArgsSet.abstractPos.x, eventArgsSet.abstractPos.y);\n }\n return true;\n }\n }\n\n return false;\n }\n\n dealColumnResize(xInTable: number, yInTable: number) {\n this.table.stateManeger.updateResizeCol(xInTable, yInTable);\n }\n\n chechColumnMover(eventArgsSet: SceneEvent): boolean {\n // return false;\n const { eventArgs } = eventArgsSet;\n\n if (\n eventArgs &&\n this.table.isHeader(eventArgs.col, eventArgs.row) &&\n checkCellInSelect(eventArgs.col, eventArgs.row, this.table.stateManeger.select.ranges) &&\n // this.table.stateManeger.select.cellPosStart.col === eventArgs.col &&\n // this.table.stateManeger.select.cellPosStart.row === eventArgs.row &&\n this.table._canDragHeaderPosition(eventArgs.col, eventArgs.row)\n ) {\n this.table.stateManeger.startMoveCol(\n eventArgs.col,\n eventArgs.row,\n eventArgsSet.abstractPos.x,\n eventArgsSet.abstractPos.y\n );\n return true;\n }\n\n return false;\n }\n\n dealColumnMover(eventArgsSet: SceneEvent) {\n const { eventArgs } = eventArgsSet;\n this.table.stateManeger.updateMoveCol(\n eventArgs.col,\n eventArgs.row,\n eventArgsSet.abstractPos.x,\n eventArgsSet.abstractPos.y\n );\n }\n\n startColumnResize(eventArgsSet: SceneEvent) {\n // do nothing\n }\n\n dealIconClick(e: FederatedPointerEvent, eventArgsSet: SceneEvent): boolean {\n const { eventArgs } = eventArgsSet;\n // if (!eventArgs) {\n // return false;\n // }\n\n const { target, event, col, row } = eventArgs || {\n target: e.target,\n event: e,\n col: -1,\n row: -1\n };\n const icon = target as unknown as Icon;\n\n if (icon.role && icon.role.startsWith('icon-')) {\n this.table.fireListeners(TABLE_EVENT_TYPE.ICON_CLICK, {\n name: icon.name,\n // 默认位置:icon中部正下方\n x: (icon.globalAABBBounds.x1 + icon.globalAABBBounds.x2) / 2,\n y: icon.globalAABBBounds.y2,\n col,\n row,\n funcType: icon.attribute.funcType,\n icon\n });\n\n return true;\n } else if (target instanceof RichText) {\n const icon = target.pickIcon(event.global);\n if (icon) {\n this.table.fireListeners(TABLE_EVENT_TYPE.ICON_CLICK, {\n name: icon.attribute.id,\n // 默认位置:icon中部正下方\n x: icon.globalX + icon.globalAABBBounds.width() / 2,\n y: icon.globalY + icon.AABBBounds.height(),\n col,\n row,\n funcType: (icon.attribute as any).funcType,\n icon: icon as unknown as Icon\n });\n return true;\n }\n }\n\n return false;\n }\n}\n"]}
|
|
@@ -4,7 +4,8 @@ import { clearChartCacheImage } from "../../scenegraph/refresh-node/update-chart
|
|
|
4
4
|
|
|
5
5
|
export function bindAxisClickEvent(table) {
|
|
6
6
|
table.isPivotChart() && table.scenegraph.tableGroup.addEventListener("click", (e => {
|
|
7
|
-
|
|
7
|
+
var _a;
|
|
8
|
+
if (!table.stateManeger.columnMove.moving && !table.stateManeger.columnResize.resizing) if ("axis-label" === e.target.name) {
|
|
8
9
|
const eventArgsSet = getCellEventArgsSet(e), {col: col, row: row} = eventArgsSet.eventArgs, layout = table.internalProps.layoutMap;
|
|
9
10
|
let dimensionKey, dimensions;
|
|
10
11
|
layout.indicatorsAsCol ? (dimensionKey = layout.getDimensionKeyInChartSpec(layout.rowHeaderLevelCount, row)[0],
|
|
@@ -20,7 +21,7 @@ export function bindAxisClickEvent(table) {
|
|
|
20
21
|
}), table._selectedDimensionInChart.length && isSameSelectedDimension(table._selectedDimensionInChart, filter)) return;
|
|
21
22
|
table._selectedDimensionInChart = filter, layout.updateDataStateToChartInstance(),
|
|
22
23
|
clearChartCacheImage(table.scenegraph), table.scenegraph.updateNextFrame();
|
|
23
|
-
} else if (table._selectedDimensionInChart) {
|
|
24
|
+
} else if (null === (_a = table._selectedDimensionInChart) || void 0 === _a ? void 0 : _a.length) {
|
|
24
25
|
table._selectedDimensionInChart.length = 0;
|
|
25
26
|
table.internalProps.layoutMap.updateDataStateToChartInstance(), clearChartCacheImage(table.scenegraph),
|
|
26
27
|
table.scenegraph.updateNextFrame();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["event/pivot-chart/axis-click.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAG9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAElF,MAAM,UAAU,kBAAkB,CAAC,KAAmB;IACpD,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE;QACzB,OAAO;KACR;IAED,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAwB,EAAE,EAAE
|
|
1
|
+
{"version":3,"sources":["event/pivot-chart/axis-click.ts"],"names":[],"mappings":"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","file":"axis-click.js","sourcesContent":["import type { FederatedPointerEvent } from '@visactor/vrender';\nimport type { BaseTableAPI } from '../../ts-types/base-table';\nimport type { SceneEvent } from '../util';\nimport { getCellEventArgsSet } from '../util';\nimport type { PivotLayoutMap } from '../../layout/pivot-layout';\nimport type { PivotChart } from '../../PivotChart';\nimport { clearChartCacheImage } from '../../scenegraph/refresh-node/update-chart';\n\nexport function bindAxisClickEvent(table: BaseTableAPI) {\n if (!table.isPivotChart()) {\n return;\n }\n\n table.scenegraph.tableGroup.addEventListener('click', (e: FederatedPointerEvent) => {\n if (table.stateManeger.columnMove.moving || table.stateManeger.columnResize.resizing) {\n return;\n }\n if (e.target.name === 'axis-label') {\n const eventArgsSet: SceneEvent = getCellEventArgsSet(e);\n const { col, row } = eventArgsSet.eventArgs;\n const layout = table.internalProps.layoutMap as PivotLayoutMap;\n let dimensionKey;\n let dimensions: {\n dimensionKey?: string;\n indicatorKey?: string;\n value?: string;\n }[];\n if (layout.indicatorsAsCol) {\n dimensionKey = layout.getDimensionKeyInChartSpec(layout.rowHeaderLevelCount, row)[0];\n dimensions = layout.getCellHeaderPaths(layout.rowHeaderLevelCount - 2, row).rowHeaderPaths;\n } else {\n dimensionKey = layout.getDimensionKeyInChartSpec(col, layout.columnHeaderLevelCount)[0];\n dimensions = layout.getCellHeaderPaths(col, layout.columnHeaderLevelCount - 1).colHeaderPaths;\n }\n const filter = dimensions\n .map(dimension => {\n return {\n key: dimension.dimensionKey,\n value: dimension.value\n };\n })\n .filter(dimension => dimension.key);\n filter.push({ key: dimensionKey, value: (e.target.attribute as any).text });\n\n if (\n (table as PivotChart)._selectedDimensionInChart.length &&\n isSameSelectedDimension((table as PivotChart)._selectedDimensionInChart, filter)\n ) {\n return;\n }\n\n (table as PivotChart)._selectedDimensionInChart = filter;\n\n layout.updateDataStateToChartInstance();\n // 清除chart缓存图片\n clearChartCacheImage(table.scenegraph);\n table.scenegraph.updateNextFrame();\n } else if ((table as PivotChart)._selectedDimensionInChart?.length) {\n (table as PivotChart)._selectedDimensionInChart.length = 0;\n const layout = table.internalProps.layoutMap as PivotLayoutMap;\n layout.updateDataStateToChartInstance();\n // 清除chart缓存图片\n clearChartCacheImage(table.scenegraph);\n table.scenegraph.updateNextFrame();\n }\n });\n}\n\nfunction isSameSelectedDimension(\n dimensions1: { key: string; value: string }[],\n dimensions2: { key: string; value: string }[]\n): boolean {\n if (dimensions1.length !== dimensions2.length) {\n return false;\n }\n for (let i = 0; i < dimensions1.length; i++) {\n if (dimensions1[i].key !== dimensions2[i].key || dimensions1[i].value !== dimensions2[i].value) {\n return false;\n }\n }\n return true;\n}\n"]}
|
package/es/index.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ import { PivotTable } from './PivotTable';
|
|
|
10
10
|
import { PivotChart } from './PivotChart';
|
|
11
11
|
import type { MousePointerCellEvent } from './ts-types/events';
|
|
12
12
|
import * as CustomLayout from './render/layout';
|
|
13
|
-
export declare const version = "0.
|
|
13
|
+
export declare const version = "0.10.0";
|
|
14
14
|
export { TYPES, core, ListTable, ListTableConstructorOptions, PivotTable, PivotTableConstructorOptions, PivotChartConstructorOptions, PivotChart, IHeaderTreeDefine, IDimension, ColumnsDefine, ColumnDefine, LinkColumnDefine, ChartColumnDefine, ImageColumnDefine, SparklineColumnDefine, ProgressbarColumnDefine, TextColumnDefine, GroupColumnDefine, themes, data, MousePointerCellEvent, getIcons, clearGlobal, register, DataStatistics, CustomLayout };
|
|
15
15
|
declare function getIcons(): {
|
|
16
16
|
[key: string]: TYPES.ColumnIconOption;
|
package/es/index.js
CHANGED
|
@@ -20,7 +20,7 @@ import { PivotChart } from "./PivotChart";
|
|
|
20
20
|
|
|
21
21
|
import * as CustomLayout from "./render/layout";
|
|
22
22
|
|
|
23
|
-
export const version = "0.
|
|
23
|
+
export const version = "0.10.0";
|
|
24
24
|
|
|
25
25
|
export { TYPES, core, ListTable, PivotTable, PivotChart, themes, data, getIcons, clearGlobal, register, DataStatistics, CustomLayout };
|
|
26
26
|
|
package/es/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,cAAc,MAAM,0BAA0B,CAAC;AAiB3D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,KAAK,YAAY,MAAM,iBAAiB,CAAC;AAChD,MAAM,CAAC,MAAM,OAAO,GAAG,
|
|
1
|
+
{"version":3,"sources":["index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,cAAc,MAAM,0BAA0B,CAAC;AAiB3D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,KAAK,YAAY,MAAM,iBAAiB,CAAC;AAChD,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC;AAIhC,OAAO,EAKL,KAAK,EACL,IAAI,EACJ,SAAS,EAET,UAAU,EAGV,UAAU,EAYV,MAAM,EACN,IAAI,EAEJ,QAAQ,EACR,WAAW,EAEX,QAAQ,EAIR,cAAc,EACd,YAAY,EACb,CAAC;AAGF,SAAS,QAAQ;IAGf,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC;AACrB,CAAC;AAED,SAAS,WAAW;IAClB,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAGtB,CAAC;AACD,KAAK,CAAC,eAAe,CAAC","file":"index.js","sourcesContent":["/* eslint-disable sort-imports */\nimport * as TYPES from './ts-types';\nimport * as core from './core';\nimport * as data from './data';\nimport * as icons from './icons';\nimport * as register from './register';\nimport * as themes from './themes';\nimport * as DataStatistics from './dataset/DataStatistics';\nimport type {\n ColumnDefine,\n ColumnsDefine,\n LinkColumnDefine,\n ChartColumnDefine,\n ImageColumnDefine,\n SparklineColumnDefine,\n ProgressbarColumnDefine,\n TextColumnDefine,\n GroupColumnDefine,\n ListTableConstructorOptions,\n PivotTableConstructorOptions,\n PivotChartConstructorOptions,\n IHeaderTreeDefine,\n IDimension\n} from './ts-types';\nimport { ListTable } from './ListTable';\nimport { PivotTable } from './PivotTable';\nimport { PivotChart } from './PivotChart';\nimport type { MousePointerCellEvent } from './ts-types/events';\nimport * as CustomLayout from './render/layout';\nexport const version = \"0.10.0\";\n/**\n * @namespace VTable\n */\nexport {\n /**\n * Types\n * @namespace VTable.TYPES\n */\n TYPES,\n core,\n ListTable,\n ListTableConstructorOptions,\n PivotTable,\n PivotTableConstructorOptions,\n PivotChartConstructorOptions,\n PivotChart,\n IHeaderTreeDefine,\n IDimension,\n ColumnsDefine,\n ColumnDefine,\n LinkColumnDefine,\n ChartColumnDefine,\n ImageColumnDefine,\n SparklineColumnDefine,\n ProgressbarColumnDefine,\n TextColumnDefine,\n GroupColumnDefine,\n themes,\n data,\n MousePointerCellEvent,\n getIcons,\n clearGlobal,\n //plugin registers\n register,\n /**\n * 暂不推荐使用\n */\n DataStatistics,\n CustomLayout\n};\n\n/** @private */\nfunction getIcons(): {\n [key: string]: TYPES.ColumnIconOption;\n} {\n return icons.get();\n}\n/** 清理内部的全局变量 如注册的icon theme等 以及共享的header column类实例 */\nfunction clearGlobal() {\n register.clearAll();\n // headers.type.clearGlobal();\n // columns.type.clearGlobal();\n}\nTYPES.AggregationType;\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { isArray, merge } from "@visactor/vutils";
|
|
2
2
|
|
|
3
3
|
export function getAxisConfigInPivotChart(col, row, layout) {
|
|
4
|
-
var _a, _b, _c, _d;
|
|
4
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
5
5
|
if (layout._table.isPivotChart()) if (layout.indicatorsAsCol) {
|
|
6
6
|
if (layout.hasTwoIndicatorAxes && row === layout.columnHeaderLevelCount - 1 && col >= layout.rowHeaderLevelCount && col < layout.colCount - layout.rightFrozenColCount) {
|
|
7
7
|
let defaultKey = layout.getIndicatorKeyInChartSpec(col, layout.columnHeaderLevelCount - 1)[1];
|
|
@@ -53,7 +53,7 @@ export function getAxisConfigInPivotChart(col, row, layout) {
|
|
|
53
53
|
if (col === layout.rowHeaderLevelCount - 1 && row >= layout.columnHeaderLevelCount && row < layout.rowCount - layout.bottomFrozenRowCount) {
|
|
54
54
|
let rowDimensionKey = layout.getDimensionKeyInChartSpec(layout.rowHeaderLevelCount, row)[0];
|
|
55
55
|
isArray(rowDimensionKey) && (rowDimensionKey = rowDimensionKey[0]);
|
|
56
|
-
const data = layout.dataset.collectedValues[rowDimensionKey], recordRow = layout.getRecordIndexByRow(row), rowPath = layout.getRowKeysPath()[recordRow], domain = data[rowPath[rowPath.length - 1]], axisOption = getAxisOption(col, row, "left", layout);
|
|
56
|
+
const data = null !== (_b = layout.dataset.collectedValues[rowDimensionKey]) && void 0 !== _b ? _b : [], recordRow = layout.getRecordIndexByRow(row), rowPath = layout.getRowKeysPath()[recordRow], domain = null !== (_c = data[rowPath[rowPath.length - 1]]) && void 0 !== _c ? _c : [], axisOption = getAxisOption(col, row, "left", layout);
|
|
57
57
|
if (!1 === (null == axisOption ? void 0 : axisOption.visible)) return;
|
|
58
58
|
return merge({
|
|
59
59
|
domain: Array.from(domain).reverse(),
|
|
@@ -70,7 +70,7 @@ export function getAxisConfigInPivotChart(col, row, layout) {
|
|
|
70
70
|
const indicatorKeys = layout.getIndicatorKeyInChartSpec(col, row);
|
|
71
71
|
let defaultKey = indicatorKeys[0];
|
|
72
72
|
isArray(defaultKey) && (defaultKey = defaultKey[0]);
|
|
73
|
-
const isZeroAlign = checkZeroAlign(col, row, "left", layout), data = layout.dataset.collectedValues[defaultKey + (isZeroAlign ? "_align" : "")] ? layout.dataset.collectedValues[defaultKey + (isZeroAlign ? "_align" : "")] : layout.dataset.collectedValues[defaultKey], index = layout.getRecordIndexByRow(row), range = null !== (
|
|
73
|
+
const isZeroAlign = checkZeroAlign(col, row, "left", layout), data = layout.dataset.collectedValues[defaultKey + (isZeroAlign ? "_align" : "")] ? layout.dataset.collectedValues[defaultKey + (isZeroAlign ? "_align" : "")] : layout.dataset.collectedValues[defaultKey], index = layout.getRecordIndexByRow(row), range = null !== (_d = null == data ? void 0 : data[layout.getRowKeysPath()[index][Math.max(0, layout.rowHeaderLevelCount - 1 - layout.leftAxesCount)]]) && void 0 !== _d ? _d : {
|
|
74
74
|
min: 0,
|
|
75
75
|
max: 1
|
|
76
76
|
};
|
|
@@ -99,7 +99,7 @@ export function getAxisConfigInPivotChart(col, row, layout) {
|
|
|
99
99
|
if (col === layout.colCount - layout.rightFrozenColCount && row >= layout.columnHeaderLevelCount && row < layout.rowCount - layout.bottomFrozenRowCount) {
|
|
100
100
|
let defaultKey = layout.getIndicatorKeyInChartSpec(layout.rowHeaderLevelCount - 1, row)[1];
|
|
101
101
|
if (isArray(defaultKey) && (defaultKey = defaultKey[0]), !defaultKey) return;
|
|
102
|
-
const isZeroAlign = checkZeroAlign(col, row, "right", layout), data = layout.dataset.collectedValues[defaultKey + (isZeroAlign ? "_align" : "")] ? layout.dataset.collectedValues[defaultKey + (isZeroAlign ? "_align" : "")] : layout.dataset.collectedValues[defaultKey], index = layout.getRecordIndexByRow(row), range = null !== (
|
|
102
|
+
const isZeroAlign = checkZeroAlign(col, row, "right", layout), data = layout.dataset.collectedValues[defaultKey + (isZeroAlign ? "_align" : "")] ? layout.dataset.collectedValues[defaultKey + (isZeroAlign ? "_align" : "")] : layout.dataset.collectedValues[defaultKey], index = layout.getRecordIndexByRow(row), range = null !== (_e = null == data ? void 0 : data[layout.getRowKeysPath()[index][Math.max(0, layout.rowHeaderLevelCount - 1 - layout.leftAxesCount)]]) && void 0 !== _e ? _e : {
|
|
103
103
|
min: 0,
|
|
104
104
|
max: 1
|
|
105
105
|
}, axisOption = getAxisOption(col, row, "right", layout);
|
|
@@ -120,7 +120,7 @@ export function getAxisConfigInPivotChart(col, row, layout) {
|
|
|
120
120
|
if (row === layout.rowCount - layout.bottomFrozenRowCount && col >= layout.rowHeaderLevelCount && col < layout.colCount - layout.rightFrozenColCount) {
|
|
121
121
|
let columnDimensionKey = layout.getDimensionKeyInChartSpec(col, layout.columnHeaderLevelCount)[0];
|
|
122
122
|
isArray(columnDimensionKey) && (columnDimensionKey = columnDimensionKey[0]);
|
|
123
|
-
const data = layout.dataset.collectedValues[columnDimensionKey], recordCol = layout.getRecordIndexByCol(col), colPath = layout.getColKeysPath()[recordCol], domain = null !== (
|
|
123
|
+
const data = null !== (_f = layout.dataset.collectedValues[columnDimensionKey]) && void 0 !== _f ? _f : [], recordCol = layout.getRecordIndexByCol(col), colPath = layout.getColKeysPath()[recordCol], domain = null !== (_g = null == data ? void 0 : data[colPath[colPath.length - 1]]) && void 0 !== _g ? _g : [], axisOption = getAxisOption(col, row, "bottom", layout);
|
|
124
124
|
if (!1 === (null == axisOption ? void 0 : axisOption.visible)) return;
|
|
125
125
|
return merge({
|
|
126
126
|
domain: Array.from(domain)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["layout/chart-helper/get-axis-config.ts"],"names":[],"mappings":"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","file":"get-axis-config.js","sourcesContent":["import { isArray, merge } from '@visactor/vutils';\nimport type { PivotLayoutMap } from '../pivot-layout';\nimport type { ITableAxisOption } from '../../ts-types/component/axis';\nimport type { PivotChart } from '../../PivotChart';\n\nexport function getAxisConfigInPivotChart(col: number, row: number, layout: PivotLayoutMap): any {\n if (!layout._table.isPivotChart()) {\n return undefined;\n }\n\n // 是否是指标\n if (layout.indicatorsAsCol) {\n if (\n layout.hasTwoIndicatorAxes &&\n row === layout.columnHeaderLevelCount - 1 &&\n col >= layout.rowHeaderLevelCount &&\n col < layout.colCount - layout.rightFrozenColCount\n ) {\n const indicatorKeys = layout.getIndicatorKeyInChartSpec(col, layout.columnHeaderLevelCount - 1);\n let defaultKey = indicatorKeys[1];\n if (isArray(defaultKey)) {\n defaultKey = defaultKey[0];\n }\n if (!defaultKey) {\n return undefined;\n }\n\n const isZeroAlign = checkZeroAlign(col, row, 'top', layout);\n // const data = layout.dataset.collectedValues[defaultKey];\n const data = layout.dataset.collectedValues[defaultKey + (isZeroAlign ? '_align' : '')]\n ? layout.dataset.collectedValues[defaultKey + (isZeroAlign ? '_align' : '')]\n : layout.dataset.collectedValues[defaultKey];\n const index = layout.getRecordIndexByCol(col);\n const range = data\n ? data[layout.getColKeysPath()[index][Math.max(0, layout.columnHeaderLevelCount - 1 - layout.topAxesCount)]]\n : { max: 1, min: 0 };\n const axisOption = getAxisOption(col, row, 'top', layout);\n if (axisOption?.visible === false) {\n return;\n }\n // 顶部副指标轴\n return merge(\n {\n range: range\n },\n axisOption,\n {\n orient: 'top',\n type: 'linear',\n label: {\n flush: true\n }\n }\n );\n } else if (\n row === layout.rowCount - layout.bottomFrozenRowCount &&\n col >= layout.rowHeaderLevelCount &&\n col < layout.colCount - layout.rightFrozenColCount\n ) {\n const indicatorKeys = layout.getIndicatorKeyInChartSpec(col, row);\n let defaultKey = indicatorKeys[0];\n if (isArray(defaultKey)) {\n defaultKey = defaultKey[0];\n }\n\n const isZeroAlign = checkZeroAlign(col, row, 'bottom', layout);\n\n const data = layout.dataset.collectedValues[defaultKey + (isZeroAlign ? '_align' : '')]\n ? layout.dataset.collectedValues[defaultKey + (isZeroAlign ? '_align' : '')]\n : layout.dataset.collectedValues[defaultKey];\n const index = layout.getRecordIndexByCol(col);\n const range = data?.[\n layout.getColKeysPath()[index][Math.max(0, layout.columnHeaderLevelCount - 1 - layout.topAxesCount)]\n ] ?? { min: 0, max: 1 };\n let indicatorInfo = null;\n indicatorKeys.forEach(key => {\n const info = layout.getIndicatorInfo(key);\n if (info) {\n indicatorInfo = info;\n }\n });\n\n const axisOption = getAxisOption(col, row, 'bottom', layout);\n if (axisOption?.visible === false) {\n return;\n }\n // 底侧指标轴\n return merge(\n {\n title: {\n visible: true,\n text: (indicatorInfo as any)?.caption\n // autoRotate: true\n },\n range: range\n },\n axisOption,\n {\n orient: 'bottom',\n type: 'linear',\n label: {\n flush: true\n }\n }\n );\n } else if (\n col === layout.rowHeaderLevelCount - 1 &&\n row >= layout.columnHeaderLevelCount &&\n row < layout.rowCount - layout.bottomFrozenRowCount\n ) {\n let rowDimensionKey = layout.getDimensionKeyInChartSpec(layout.rowHeaderLevelCount, row)[0];\n if (isArray(rowDimensionKey)) {\n rowDimensionKey = rowDimensionKey[0];\n }\n const data = layout.dataset.collectedValues[rowDimensionKey];\n\n const recordRow = layout.getRecordIndexByRow(row);\n const rowPath = layout.getRowKeysPath()[recordRow];\n const domain = data[rowPath[rowPath.length - 1]] as Array<string>;\n\n const axisOption = getAxisOption(col, row, 'left', layout);\n if (axisOption?.visible === false) {\n return;\n }\n // 左侧维度轴\n return merge(\n {\n domain: Array.from(domain).reverse(),\n title: {\n autoRotate: true\n }\n },\n axisOption,\n {\n orient: 'left',\n type: 'band'\n }\n );\n }\n } else {\n if (\n col === layout.rowHeaderLevelCount - 1 &&\n row >= layout.columnHeaderLevelCount &&\n row < layout.rowCount - layout.bottomFrozenRowCount\n ) {\n const indicatorKeys = layout.getIndicatorKeyInChartSpec(col, row);\n let defaultKey = indicatorKeys[0];\n if (isArray(defaultKey)) {\n defaultKey = defaultKey[0];\n }\n\n const isZeroAlign = checkZeroAlign(col, row, 'left', layout);\n\n const data = layout.dataset.collectedValues[defaultKey + (isZeroAlign ? '_align' : '')]\n ? layout.dataset.collectedValues[defaultKey + (isZeroAlign ? '_align' : '')]\n : layout.dataset.collectedValues[defaultKey];\n const index = layout.getRecordIndexByRow(row);\n const range = data?.[\n layout.getRowKeysPath()[index][Math.max(0, layout.rowHeaderLevelCount - 1 - layout.leftAxesCount)]\n ] ?? { min: 0, max: 1 };\n let indicatorInfo = null;\n indicatorKeys.forEach(key => {\n const info = layout.getIndicatorInfo(key);\n if (info) {\n indicatorInfo = info;\n }\n });\n\n const axisOption = getAxisOption(col, row, 'left', layout);\n if (axisOption?.visible === false) {\n return;\n }\n // 左侧指标轴\n return merge(\n {\n title: {\n visible: true,\n text: (indicatorInfo as any)?.caption,\n autoRotate: true\n },\n range: range\n },\n axisOption,\n {\n orient: 'left',\n type: 'linear',\n label: {\n flush: true\n }\n }\n );\n } else if (\n col === layout.colCount - layout.rightFrozenColCount &&\n row >= layout.columnHeaderLevelCount &&\n row < layout.rowCount - layout.bottomFrozenRowCount\n ) {\n const indicatorKeys = layout.getIndicatorKeyInChartSpec(layout.rowHeaderLevelCount - 1, row);\n let defaultKey = indicatorKeys[1];\n if (isArray(defaultKey)) {\n defaultKey = defaultKey[0];\n }\n\n if (!defaultKey) {\n return undefined;\n }\n\n const isZeroAlign = checkZeroAlign(col, row, 'right', layout);\n\n const data = layout.dataset.collectedValues[defaultKey + (isZeroAlign ? '_align' : '')]\n ? layout.dataset.collectedValues[defaultKey + (isZeroAlign ? '_align' : '')]\n : layout.dataset.collectedValues[defaultKey];\n const index = layout.getRecordIndexByRow(row);\n const range = data?.[\n layout.getRowKeysPath()[index][Math.max(0, layout.rowHeaderLevelCount - 1 - layout.leftAxesCount)]\n ] ?? { min: 0, max: 1 };\n\n const axisOption = getAxisOption(col, row, 'right', layout);\n if (axisOption?.visible === false) {\n return;\n }\n // 右侧副指标轴\n return merge(\n {\n range: range,\n title: {\n autoRotate: true\n }\n },\n axisOption,\n {\n orient: 'right',\n type: 'linear',\n label: {\n flush: true\n }\n }\n );\n } else if (\n row === layout.rowCount - layout.bottomFrozenRowCount &&\n col >= layout.rowHeaderLevelCount &&\n col < layout.colCount - layout.rightFrozenColCount\n ) {\n // const indicatorKeys = layout.getIndicatorKeyInChartSpec(col, row);\n\n let columnDimensionKey = layout.getDimensionKeyInChartSpec(col, layout.columnHeaderLevelCount)[0];\n if (isArray(columnDimensionKey)) {\n columnDimensionKey = columnDimensionKey[0];\n }\n const data = layout.dataset.collectedValues[columnDimensionKey];\n\n const recordCol = layout.getRecordIndexByCol(col);\n const colPath = layout.getColKeysPath()[recordCol];\n const domain = (data?.[colPath[colPath.length - 1]] as Array<string>) ?? [];\n\n const axisOption = getAxisOption(col, row, 'bottom', layout);\n if (axisOption?.visible === false) {\n return;\n }\n // 底部维度轴\n return merge(\n {\n domain: Array.from(domain)\n },\n axisOption,\n {\n orient: 'bottom',\n type: 'band'\n }\n );\n }\n }\n\n return undefined;\n}\n\nexport function getAxisOption(col: number, row: number, orient: string, layout: PivotLayoutMap) {\n const spec = layout.getRawChartSpec(col, row);\n if (spec && isArray(spec.axes)) {\n const axisOption = spec.axes.find((axis: any) => {\n return axis.orient === orient;\n });\n if (axisOption) {\n return axisOption;\n }\n }\n const axisOption = ((layout._table as PivotChart).pivotChartAxes as ITableAxisOption[]).find(axisOption => {\n return axisOption.orient === orient;\n });\n return axisOption;\n}\n\nexport function checkZeroAlign(col: number, row: number, orient: string, layout: PivotLayoutMap) {\n // check condition:\n // 1. two axes and one set sync\n // 2. axisId in sync is another\n const orients: string[] = [];\n if (orient === 'left' || orient === 'right') {\n orients.push('left', 'right');\n } else if (orient === 'top' || orient === 'bottom') {\n orients.push('top', 'bottom');\n }\n const spec = layout.getRawChartSpec(col, row);\n let axesSpec;\n if (spec && isArray(spec.axes)) {\n axesSpec = spec.axes;\n } else {\n axesSpec = (layout._table as PivotChart).pivotChartAxes as ITableAxisOption[];\n }\n if (isArray(axesSpec)) {\n const axes: any[] = [];\n axesSpec.forEach((axis: any) => {\n if (orients.includes(axis.orient)) {\n axes.push(axis);\n }\n });\n for (let i = 0; i < axes.length; i++) {\n const axis = axes[i];\n if (\n axis.sync &&\n axis.sync.zeroAlign &&\n axis.sync.axisId &&\n axes.find(axisSync => {\n return axisSync.id === axis.sync.axisId;\n })\n ) {\n return true;\n }\n }\n }\n\n return false;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["layout/chart-helper/get-axis-config.ts"],"names":[],"mappings":"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","file":"get-axis-config.js","sourcesContent":["import { isArray, merge } from '@visactor/vutils';\nimport type { PivotLayoutMap } from '../pivot-layout';\nimport type { ITableAxisOption } from '../../ts-types/component/axis';\nimport type { PivotChart } from '../../PivotChart';\n\nexport function getAxisConfigInPivotChart(col: number, row: number, layout: PivotLayoutMap): any {\n if (!layout._table.isPivotChart()) {\n return undefined;\n }\n\n // 是否是指标\n if (layout.indicatorsAsCol) {\n if (\n layout.hasTwoIndicatorAxes &&\n row === layout.columnHeaderLevelCount - 1 &&\n col >= layout.rowHeaderLevelCount &&\n col < layout.colCount - layout.rightFrozenColCount\n ) {\n const indicatorKeys = layout.getIndicatorKeyInChartSpec(col, layout.columnHeaderLevelCount - 1);\n let defaultKey = indicatorKeys[1];\n if (isArray(defaultKey)) {\n defaultKey = defaultKey[0];\n }\n if (!defaultKey) {\n return undefined;\n }\n\n const isZeroAlign = checkZeroAlign(col, row, 'top', layout);\n // const data = layout.dataset.collectedValues[defaultKey];\n const data = layout.dataset.collectedValues[defaultKey + (isZeroAlign ? '_align' : '')]\n ? layout.dataset.collectedValues[defaultKey + (isZeroAlign ? '_align' : '')]\n : layout.dataset.collectedValues[defaultKey];\n const index = layout.getRecordIndexByCol(col);\n const range = data\n ? data[layout.getColKeysPath()[index][Math.max(0, layout.columnHeaderLevelCount - 1 - layout.topAxesCount)]]\n : { max: 1, min: 0 };\n const axisOption = getAxisOption(col, row, 'top', layout);\n if (axisOption?.visible === false) {\n return;\n }\n // 顶部副指标轴\n return merge(\n {\n range: range\n },\n axisOption,\n {\n orient: 'top',\n type: 'linear',\n label: {\n flush: true\n }\n }\n );\n } else if (\n row === layout.rowCount - layout.bottomFrozenRowCount &&\n col >= layout.rowHeaderLevelCount &&\n col < layout.colCount - layout.rightFrozenColCount\n ) {\n const indicatorKeys = layout.getIndicatorKeyInChartSpec(col, row);\n let defaultKey = indicatorKeys[0];\n if (isArray(defaultKey)) {\n defaultKey = defaultKey[0];\n }\n\n const isZeroAlign = checkZeroAlign(col, row, 'bottom', layout);\n\n const data = layout.dataset.collectedValues[defaultKey + (isZeroAlign ? '_align' : '')]\n ? layout.dataset.collectedValues[defaultKey + (isZeroAlign ? '_align' : '')]\n : layout.dataset.collectedValues[defaultKey];\n const index = layout.getRecordIndexByCol(col);\n const range = data?.[\n layout.getColKeysPath()[index][Math.max(0, layout.columnHeaderLevelCount - 1 - layout.topAxesCount)]\n ] ?? { min: 0, max: 1 };\n let indicatorInfo = null;\n indicatorKeys.forEach(key => {\n const info = layout.getIndicatorInfo(key);\n if (info) {\n indicatorInfo = info;\n }\n });\n\n const axisOption = getAxisOption(col, row, 'bottom', layout);\n if (axisOption?.visible === false) {\n return;\n }\n // 底侧指标轴\n return merge(\n {\n title: {\n visible: true,\n text: (indicatorInfo as any)?.caption\n // autoRotate: true\n },\n range: range\n },\n axisOption,\n {\n orient: 'bottom',\n type: 'linear',\n label: {\n flush: true\n }\n }\n );\n } else if (\n col === layout.rowHeaderLevelCount - 1 &&\n row >= layout.columnHeaderLevelCount &&\n row < layout.rowCount - layout.bottomFrozenRowCount\n ) {\n let rowDimensionKey = layout.getDimensionKeyInChartSpec(layout.rowHeaderLevelCount, row)[0];\n if (isArray(rowDimensionKey)) {\n rowDimensionKey = rowDimensionKey[0];\n }\n const data = layout.dataset.collectedValues[rowDimensionKey] ?? ([] as string[]);\n\n const recordRow = layout.getRecordIndexByRow(row);\n const rowPath = layout.getRowKeysPath()[recordRow];\n const domain = (data[rowPath[rowPath.length - 1]] as Array<string>) ?? [];\n\n const axisOption = getAxisOption(col, row, 'left', layout);\n if (axisOption?.visible === false) {\n return;\n }\n // 左侧维度轴\n return merge(\n {\n domain: Array.from(domain).reverse(),\n title: {\n autoRotate: true\n }\n },\n axisOption,\n {\n orient: 'left',\n type: 'band'\n }\n );\n }\n } else {\n if (\n col === layout.rowHeaderLevelCount - 1 &&\n row >= layout.columnHeaderLevelCount &&\n row < layout.rowCount - layout.bottomFrozenRowCount\n ) {\n const indicatorKeys = layout.getIndicatorKeyInChartSpec(col, row);\n let defaultKey = indicatorKeys[0];\n if (isArray(defaultKey)) {\n defaultKey = defaultKey[0];\n }\n\n const isZeroAlign = checkZeroAlign(col, row, 'left', layout);\n\n const data = layout.dataset.collectedValues[defaultKey + (isZeroAlign ? '_align' : '')]\n ? layout.dataset.collectedValues[defaultKey + (isZeroAlign ? '_align' : '')]\n : layout.dataset.collectedValues[defaultKey];\n const index = layout.getRecordIndexByRow(row);\n const range = data?.[\n layout.getRowKeysPath()[index][Math.max(0, layout.rowHeaderLevelCount - 1 - layout.leftAxesCount)]\n ] ?? { min: 0, max: 1 };\n let indicatorInfo = null;\n indicatorKeys.forEach(key => {\n const info = layout.getIndicatorInfo(key);\n if (info) {\n indicatorInfo = info;\n }\n });\n\n const axisOption = getAxisOption(col, row, 'left', layout);\n if (axisOption?.visible === false) {\n return;\n }\n // 左侧指标轴\n return merge(\n {\n title: {\n visible: true,\n text: (indicatorInfo as any)?.caption,\n autoRotate: true\n },\n range: range\n },\n axisOption,\n {\n orient: 'left',\n type: 'linear',\n label: {\n flush: true\n }\n }\n );\n } else if (\n col === layout.colCount - layout.rightFrozenColCount &&\n row >= layout.columnHeaderLevelCount &&\n row < layout.rowCount - layout.bottomFrozenRowCount\n ) {\n const indicatorKeys = layout.getIndicatorKeyInChartSpec(layout.rowHeaderLevelCount - 1, row);\n let defaultKey = indicatorKeys[1];\n if (isArray(defaultKey)) {\n defaultKey = defaultKey[0];\n }\n\n if (!defaultKey) {\n return undefined;\n }\n\n const isZeroAlign = checkZeroAlign(col, row, 'right', layout);\n\n const data = layout.dataset.collectedValues[defaultKey + (isZeroAlign ? '_align' : '')]\n ? layout.dataset.collectedValues[defaultKey + (isZeroAlign ? '_align' : '')]\n : layout.dataset.collectedValues[defaultKey];\n const index = layout.getRecordIndexByRow(row);\n const range = data?.[\n layout.getRowKeysPath()[index][Math.max(0, layout.rowHeaderLevelCount - 1 - layout.leftAxesCount)]\n ] ?? { min: 0, max: 1 };\n\n const axisOption = getAxisOption(col, row, 'right', layout);\n if (axisOption?.visible === false) {\n return;\n }\n // 右侧副指标轴\n return merge(\n {\n range: range,\n title: {\n autoRotate: true\n }\n },\n axisOption,\n {\n orient: 'right',\n type: 'linear',\n label: {\n flush: true\n }\n }\n );\n } else if (\n row === layout.rowCount - layout.bottomFrozenRowCount &&\n col >= layout.rowHeaderLevelCount &&\n col < layout.colCount - layout.rightFrozenColCount\n ) {\n // const indicatorKeys = layout.getIndicatorKeyInChartSpec(col, row);\n\n let columnDimensionKey = layout.getDimensionKeyInChartSpec(col, layout.columnHeaderLevelCount)[0];\n if (isArray(columnDimensionKey)) {\n columnDimensionKey = columnDimensionKey[0];\n }\n const data = layout.dataset.collectedValues[columnDimensionKey] ?? ([] as string[]);\n\n const recordCol = layout.getRecordIndexByCol(col);\n const colPath = layout.getColKeysPath()[recordCol];\n const domain = (data?.[colPath[colPath.length - 1]] as Array<string>) ?? [];\n\n const axisOption = getAxisOption(col, row, 'bottom', layout);\n if (axisOption?.visible === false) {\n return;\n }\n // 底部维度轴\n return merge(\n {\n domain: Array.from(domain)\n },\n axisOption,\n {\n orient: 'bottom',\n type: 'band'\n }\n );\n }\n }\n\n return undefined;\n}\n\nexport function getAxisOption(col: number, row: number, orient: string, layout: PivotLayoutMap) {\n const spec = layout.getRawChartSpec(col, row);\n if (spec && isArray(spec.axes)) {\n const axisOption = spec.axes.find((axis: any) => {\n return axis.orient === orient;\n });\n if (axisOption) {\n return axisOption;\n }\n }\n const axisOption = ((layout._table as PivotChart).pivotChartAxes as ITableAxisOption[]).find(axisOption => {\n return axisOption.orient === orient;\n });\n return axisOption;\n}\n\nexport function checkZeroAlign(col: number, row: number, orient: string, layout: PivotLayoutMap) {\n // check condition:\n // 1. two axes and one set sync\n // 2. axisId in sync is another\n const orients: string[] = [];\n if (orient === 'left' || orient === 'right') {\n orients.push('left', 'right');\n } else if (orient === 'top' || orient === 'bottom') {\n orients.push('top', 'bottom');\n }\n const spec = layout.getRawChartSpec(col, row);\n let axesSpec;\n if (spec && isArray(spec.axes)) {\n axesSpec = spec.axes;\n } else {\n axesSpec = (layout._table as PivotChart).pivotChartAxes as ITableAxisOption[];\n }\n if (isArray(axesSpec)) {\n const axes: any[] = [];\n axesSpec.forEach((axis: any) => {\n if (orients.includes(axis.orient)) {\n axes.push(axis);\n }\n });\n for (let i = 0; i < axes.length; i++) {\n const axis = axes[i];\n if (\n axis.sync &&\n axis.sync.zeroAlign &&\n axis.sync.axisId &&\n axes.find(axisSync => {\n return axisSync.id === axis.sync.axisId;\n })\n ) {\n return true;\n }\n }\n }\n\n return false;\n}\n"]}
|
|
@@ -57,7 +57,7 @@ export function getChartAxes(col, row, layout) {
|
|
|
57
57
|
}));
|
|
58
58
|
let rowDimensionKey = layout.getDimensionKeyInChartSpec(layout.rowHeaderLevelCount, col)[0];
|
|
59
59
|
isArray(rowDimensionKey) && (rowDimensionKey = rowDimensionKey[0]);
|
|
60
|
-
const data = layout.dataset.cacheCollectedValues[rowDimensionKey] || layout.dataset.collectedValues[rowDimensionKey], recordRow = layout.getRecordIndexByRow(row), rowPath = layout.getRowKeysPath()[recordRow], domain = data[rowPath[rowPath.length - 1]], axisOption = getAxisOption(col, row, "left", layout);
|
|
60
|
+
const data = layout.dataset.cacheCollectedValues[rowDimensionKey] || layout.dataset.collectedValues[rowDimensionKey] || [], recordRow = layout.getRecordIndexByRow(row), rowPath = layout.getRowKeysPath()[recordRow], domain = data[rowPath[rowPath.length - 1]], axisOption = getAxisOption(col, row, "left", layout);
|
|
61
61
|
axes.push(merge({
|
|
62
62
|
domain: Array.from(domain)
|
|
63
63
|
}, axisOption, {
|
|
@@ -111,7 +111,7 @@ export function getChartAxes(col, row, layout) {
|
|
|
111
111
|
}));
|
|
112
112
|
let columnDimensionKey = layout.getDimensionKeyInChartSpec(col, layout.columnHeaderLevelCount)[0];
|
|
113
113
|
isArray(columnDimensionKey) && (columnDimensionKey = columnDimensionKey[0]);
|
|
114
|
-
const data = layout.dataset.cacheCollectedValues[columnDimensionKey] || layout.dataset.collectedValues[columnDimensionKey], recordCol = layout.getRecordIndexByCol(col), colPath = layout.getColKeysPath()[recordCol], domain = null !== (_a = null == data ? void 0 : data[colPath[colPath.length - 1]]) && void 0 !== _a ? _a : [], axisOption = getAxisOption(col, row, "bottom", layout);
|
|
114
|
+
const data = layout.dataset.cacheCollectedValues[columnDimensionKey] || layout.dataset.collectedValues[columnDimensionKey] || [], recordCol = layout.getRecordIndexByCol(col), colPath = layout.getColKeysPath()[recordCol], domain = null !== (_a = null == data ? void 0 : data[colPath[colPath.length - 1]]) && void 0 !== _a ? _a : [], axisOption = getAxisOption(col, row, "bottom", layout);
|
|
115
115
|
axes.push(merge({
|
|
116
116
|
domain: Array.from(domain)
|
|
117
117
|
}, axisOption, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["layout/chart-helper/get-chart-spec.ts"],"names":[],"mappings":"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","file":"get-chart-spec.js","sourcesContent":["import { cloneDeep, isArray, merge } from '@visactor/vutils';\nimport type { PivotLayoutMap } from '../pivot-layout';\nimport type { PivotChart } from '../../PivotChart';\nimport type { ITableAxisOption } from '../../ts-types/component/axis';\nimport type { PivotHeaderLayoutMap } from '../pivot-header-layout';\nimport type { SimpleHeaderLayoutMap } from '../simple-header-layout';\nimport { checkZeroAlign, getAxisOption } from './get-axis-config';\n\nconst NO_AXISID_FRO_VTABLE = 'NO_AXISID_FRO_VTABLE';\n\nexport function getRawChartSpec(col: number, row: number, layout: PivotLayoutMap | PivotHeaderLayoutMap): any {\n const paths = layout.getCellHeaderPaths(col, row);\n let indicatorObj;\n if (layout.indicatorsAsCol) {\n const indicatorKey = paths.colHeaderPaths.find(colPath => colPath.indicatorKey)?.indicatorKey;\n indicatorObj = layout.columnObjects.find(indicator => indicator.indicatorKey === indicatorKey);\n } else {\n const indicatorKey = paths.rowHeaderPaths.find(rowPath => rowPath.indicatorKey)?.indicatorKey;\n indicatorObj = layout.columnObjects.find(indicator => indicator.indicatorKey === indicatorKey);\n }\n // const indicatorKeys: string[] = [];\n const chartSpec = indicatorObj?.chartSpec;\n\n return chartSpec;\n}\n\nexport function getChartSpec(col: number, row: number, layout: PivotLayoutMap): any {\n let chartSpec = layout.getRawChartSpec(col, row);\n if (chartSpec) {\n chartSpec = cloneDeep(chartSpec);\n chartSpec.axes = layout.getChartAxes(col, row);\n chartSpec.padding = 0;\n return chartSpec;\n }\n return null;\n}\n\nexport function getChartAxes(col: number, row: number, layout: PivotLayoutMap): any {\n const axes = [];\n if (layout.indicatorsAsCol) {\n const indicatorKeys = layout.getIndicatorKeyInChartSpec(col, row);\n const colIndex = layout.getRecordIndexByCol(col);\n indicatorKeys.forEach((key, index) => {\n if (isArray(key)) {\n key = key[0];\n }\n\n const isZeroAlign = checkZeroAlign(col, row, index === 0 ? 'bottom' : 'top', layout);\n\n const data = layout.dataset.collectedValues[key + (isZeroAlign ? '_align' : '')]\n ? layout.dataset.collectedValues[key + (isZeroAlign ? '_align' : '')]\n : layout.dataset.collectedValues[key];\n const range = (data?.[\n layout.getColKeysPath()[colIndex][Math.max(0, layout.columnHeaderLevelCount - 1 - layout.topAxesCount)]\n ] as { max?: number; min?: number }) ?? { min: 0, max: 1 };\n\n const axisOption = getAxisOption(col, row, index === 0 ? 'bottom' : 'top', layout);\n if (axisOption?.zero) {\n range.min = Math.min(range.min, 0);\n range.max = Math.max(range.max, 0);\n }\n axes.push(\n merge(\n {\n range\n },\n axisOption,\n {\n type: 'linear',\n orient: index === 0 ? 'bottom' : 'top',\n // visible: true,\n label: { visible: false },\n title: { visible: false },\n seriesIndex: index,\n height: -1,\n\n sync: { axisId: NO_AXISID_FRO_VTABLE } // hack for fs\n }\n )\n );\n });\n\n let rowDimensionKey = layout.getDimensionKeyInChartSpec(layout.rowHeaderLevelCount, col)[0];\n if (isArray(rowDimensionKey)) {\n rowDimensionKey = rowDimensionKey[0];\n }\n const data =\n layout.dataset.cacheCollectedValues[rowDimensionKey] || layout.dataset.collectedValues[rowDimensionKey];\n const recordRow = layout.getRecordIndexByRow(row);\n const rowPath = layout.getRowKeysPath()[recordRow];\n const domain = data[rowPath[rowPath.length - 1]] as Set<string>;\n\n const axisOption = getAxisOption(col, row, 'left', layout);\n axes.push(\n merge(\n {\n domain: Array.from(domain)\n },\n axisOption,\n {\n type: 'band',\n orient: 'left',\n // visible: true,\n label: { visible: false, space: 0 },\n domainLine: { visible: false },\n tick: { visible: false },\n subTick: { visible: false },\n title: { visible: false },\n // height: -1,\n width: -1\n // autoIndent: false,\n }\n )\n );\n } else {\n const indicatorKeys = layout.getIndicatorKeyInChartSpec(col, row);\n const rowIndex = layout.getRecordIndexByRow(row);\n indicatorKeys.forEach((key, index) => {\n if (isArray(key)) {\n key = key[0];\n }\n\n const isZeroAlign = checkZeroAlign(col, row, index === 0 ? 'left' : 'right', layout);\n\n const data = layout.dataset.collectedValues[key + (isZeroAlign ? '_align' : '')]\n ? layout.dataset.collectedValues[key + (isZeroAlign ? '_align' : '')]\n : layout.dataset.collectedValues[key];\n const range = (data?.[\n layout.getRowKeysPath()[rowIndex][Math.max(0, layout.rowHeaderLevelCount - 1 - layout.leftAxesCount)]\n ] as { max?: number; min?: number }) ?? { min: 0, max: 1 };\n\n const axisOption = getAxisOption(col, row, index === 0 ? 'left' : 'right', layout);\n if (axisOption?.zero) {\n range.min = Math.min(range.min, 0);\n range.max = Math.max(range.max, 0);\n }\n axes.push(\n merge(\n {\n range\n },\n axisOption,\n {\n type: 'linear',\n orient: index === 0 ? 'left' : 'right',\n // visible: true,\n label: { visible: false },\n title: { visible: false },\n seriesIndex: index,\n width: -1,\n // grid: index === 0 ? undefined : { visible: false }\n\n sync: { axisId: NO_AXISID_FRO_VTABLE } // hack for fs\n }\n )\n );\n });\n\n let columnDimensionKey = layout.getDimensionKeyInChartSpec(col, layout.columnHeaderLevelCount)[0];\n if (isArray(columnDimensionKey)) {\n columnDimensionKey = columnDimensionKey[0];\n }\n const data =\n layout.dataset.cacheCollectedValues[columnDimensionKey] || layout.dataset.collectedValues[columnDimensionKey];\n const recordCol = layout.getRecordIndexByCol(col);\n const colPath = layout.getColKeysPath()[recordCol];\n const domain: string[] | Set<string> = (data?.[colPath[colPath.length - 1]] as Set<string>) ?? [];\n\n const axisOption = getAxisOption(col, row, 'bottom', layout);\n axes.push(\n merge(\n {\n domain: Array.from(domain)\n },\n axisOption,\n {\n type: 'band',\n orient: 'bottom',\n visible: true,\n label: { visible: false, space: 0 },\n domainLine: { visible: false },\n tick: { visible: false },\n subTick: { visible: false },\n title: { visible: false },\n height: -1\n // autoIndent: false,\n }\n )\n );\n }\n return axes;\n}\n/**\n * 获取单元格对应spec的dataId。\n * 如果是spec外层的dataId,则是string,否则通过series获取到的是Record<string, string> => <dataId, series-chart的指标key用于过滤数据>\n * @param col\n * @param row\n * @param layout\n * @returns\n */\nexport function getChartDataId(\n col: number,\n row: number,\n layout: PivotLayoutMap | PivotHeaderLayoutMap | SimpleHeaderLayoutMap\n): string | Record<string, string> {\n const chartSpec = layout.getRawChartSpec(col, row);\n // 如果chartSpec配置了组合图 series 则需要考虑 series中存在的多个指标\n if (chartSpec?.series) {\n const dataIdfield: Record<string, string> = {};\n\n if (chartSpec.data?.id) {\n dataIdfield[chartSpec.data.id] = undefined;\n }\n chartSpec?.series.forEach((seriesSpec: any) => {\n if (!seriesSpec.data?.fromDataId) {\n if (!seriesSpec.data?.transforms) {\n const seriesField = seriesSpec.direction === 'horizontal' ? seriesSpec.xField : seriesSpec.yField;\n dataIdfield[seriesSpec.data?.id ?? chartSpec.data?.id ?? 'data'] = seriesSpec.data?.id\n ? seriesField\n : undefined;\n } else {\n dataIdfield[seriesSpec.data?.id ?? chartSpec.data?.id ?? 'data'] = undefined;\n }\n }\n });\n return dataIdfield;\n }\n return chartSpec.data.id;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["layout/chart-helper/get-chart-spec.ts"],"names":[],"mappings":"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","file":"get-chart-spec.js","sourcesContent":["import { cloneDeep, isArray, merge } from '@visactor/vutils';\nimport type { PivotLayoutMap } from '../pivot-layout';\nimport type { PivotChart } from '../../PivotChart';\nimport type { ITableAxisOption } from '../../ts-types/component/axis';\nimport type { PivotHeaderLayoutMap } from '../pivot-header-layout';\nimport type { SimpleHeaderLayoutMap } from '../simple-header-layout';\nimport { checkZeroAlign, getAxisOption } from './get-axis-config';\n\nconst NO_AXISID_FRO_VTABLE = 'NO_AXISID_FRO_VTABLE';\n\nexport function getRawChartSpec(col: number, row: number, layout: PivotLayoutMap | PivotHeaderLayoutMap): any {\n const paths = layout.getCellHeaderPaths(col, row);\n let indicatorObj;\n if (layout.indicatorsAsCol) {\n const indicatorKey = paths.colHeaderPaths.find(colPath => colPath.indicatorKey)?.indicatorKey;\n indicatorObj = layout.columnObjects.find(indicator => indicator.indicatorKey === indicatorKey);\n } else {\n const indicatorKey = paths.rowHeaderPaths.find(rowPath => rowPath.indicatorKey)?.indicatorKey;\n indicatorObj = layout.columnObjects.find(indicator => indicator.indicatorKey === indicatorKey);\n }\n // const indicatorKeys: string[] = [];\n const chartSpec = indicatorObj?.chartSpec;\n\n return chartSpec;\n}\n\nexport function getChartSpec(col: number, row: number, layout: PivotLayoutMap): any {\n let chartSpec = layout.getRawChartSpec(col, row);\n if (chartSpec) {\n chartSpec = cloneDeep(chartSpec);\n chartSpec.axes = layout.getChartAxes(col, row);\n chartSpec.padding = 0;\n return chartSpec;\n }\n return null;\n}\n\nexport function getChartAxes(col: number, row: number, layout: PivotLayoutMap): any {\n const axes = [];\n if (layout.indicatorsAsCol) {\n const indicatorKeys = layout.getIndicatorKeyInChartSpec(col, row);\n const colIndex = layout.getRecordIndexByCol(col);\n indicatorKeys.forEach((key, index) => {\n if (isArray(key)) {\n key = key[0];\n }\n\n const isZeroAlign = checkZeroAlign(col, row, index === 0 ? 'bottom' : 'top', layout);\n\n const data = layout.dataset.collectedValues[key + (isZeroAlign ? '_align' : '')]\n ? layout.dataset.collectedValues[key + (isZeroAlign ? '_align' : '')]\n : layout.dataset.collectedValues[key];\n const range = (data?.[\n layout.getColKeysPath()[colIndex][Math.max(0, layout.columnHeaderLevelCount - 1 - layout.topAxesCount)]\n ] as { max?: number; min?: number }) ?? { min: 0, max: 1 };\n\n const axisOption = getAxisOption(col, row, index === 0 ? 'bottom' : 'top', layout);\n if (axisOption?.zero) {\n range.min = Math.min(range.min, 0);\n range.max = Math.max(range.max, 0);\n }\n axes.push(\n merge(\n {\n range\n },\n axisOption,\n {\n type: 'linear',\n orient: index === 0 ? 'bottom' : 'top',\n // visible: true,\n label: { visible: false },\n title: { visible: false },\n seriesIndex: index,\n height: -1,\n\n sync: { axisId: NO_AXISID_FRO_VTABLE } // hack for fs\n }\n )\n );\n });\n\n let rowDimensionKey = layout.getDimensionKeyInChartSpec(layout.rowHeaderLevelCount, col)[0];\n if (isArray(rowDimensionKey)) {\n rowDimensionKey = rowDimensionKey[0];\n }\n const data =\n layout.dataset.cacheCollectedValues[rowDimensionKey] ||\n layout.dataset.collectedValues[rowDimensionKey] ||\n ([] as string[]);\n const recordRow = layout.getRecordIndexByRow(row);\n const rowPath = layout.getRowKeysPath()[recordRow];\n const domain = data[rowPath[rowPath.length - 1]] as Set<string>;\n\n const axisOption = getAxisOption(col, row, 'left', layout);\n axes.push(\n merge(\n {\n domain: Array.from(domain)\n },\n axisOption,\n {\n type: 'band',\n orient: 'left',\n // visible: true,\n label: { visible: false, space: 0 },\n domainLine: { visible: false },\n tick: { visible: false },\n subTick: { visible: false },\n title: { visible: false },\n // height: -1,\n width: -1\n // autoIndent: false,\n }\n )\n );\n } else {\n const indicatorKeys = layout.getIndicatorKeyInChartSpec(col, row);\n const rowIndex = layout.getRecordIndexByRow(row);\n indicatorKeys.forEach((key, index) => {\n if (isArray(key)) {\n key = key[0];\n }\n\n const isZeroAlign = checkZeroAlign(col, row, index === 0 ? 'left' : 'right', layout);\n\n const data = layout.dataset.collectedValues[key + (isZeroAlign ? '_align' : '')]\n ? layout.dataset.collectedValues[key + (isZeroAlign ? '_align' : '')]\n : layout.dataset.collectedValues[key];\n const range = (data?.[\n layout.getRowKeysPath()[rowIndex][Math.max(0, layout.rowHeaderLevelCount - 1 - layout.leftAxesCount)]\n ] as { max?: number; min?: number }) ?? { min: 0, max: 1 };\n\n const axisOption = getAxisOption(col, row, index === 0 ? 'left' : 'right', layout);\n if (axisOption?.zero) {\n range.min = Math.min(range.min, 0);\n range.max = Math.max(range.max, 0);\n }\n axes.push(\n merge(\n {\n range\n },\n axisOption,\n {\n type: 'linear',\n orient: index === 0 ? 'left' : 'right',\n // visible: true,\n label: { visible: false },\n title: { visible: false },\n seriesIndex: index,\n width: -1,\n // grid: index === 0 ? undefined : { visible: false }\n\n sync: { axisId: NO_AXISID_FRO_VTABLE } // hack for fs\n }\n )\n );\n });\n\n let columnDimensionKey = layout.getDimensionKeyInChartSpec(col, layout.columnHeaderLevelCount)[0];\n if (isArray(columnDimensionKey)) {\n columnDimensionKey = columnDimensionKey[0];\n }\n const data =\n layout.dataset.cacheCollectedValues[columnDimensionKey] ||\n layout.dataset.collectedValues[columnDimensionKey] ||\n ([] as string[]);\n const recordCol = layout.getRecordIndexByCol(col);\n const colPath = layout.getColKeysPath()[recordCol];\n const domain: string[] | Set<string> = (data?.[colPath[colPath.length - 1]] as Set<string>) ?? [];\n\n const axisOption = getAxisOption(col, row, 'bottom', layout);\n axes.push(\n merge(\n {\n domain: Array.from(domain)\n },\n axisOption,\n {\n type: 'band',\n orient: 'bottom',\n visible: true,\n label: { visible: false, space: 0 },\n domainLine: { visible: false },\n tick: { visible: false },\n subTick: { visible: false },\n title: { visible: false },\n height: -1\n // autoIndent: false,\n }\n )\n );\n }\n return axes;\n}\n/**\n * 获取单元格对应spec的dataId。\n * 如果是spec外层的dataId,则是string,否则通过series获取到的是Record<string, string> => <dataId, series-chart的指标key用于过滤数据>\n * @param col\n * @param row\n * @param layout\n * @returns\n */\nexport function getChartDataId(\n col: number,\n row: number,\n layout: PivotLayoutMap | PivotHeaderLayoutMap | SimpleHeaderLayoutMap\n): string | Record<string, string> {\n const chartSpec = layout.getRawChartSpec(col, row);\n // 如果chartSpec配置了组合图 series 则需要考虑 series中存在的多个指标\n if (chartSpec?.series) {\n const dataIdfield: Record<string, string> = {};\n\n if (chartSpec.data?.id) {\n dataIdfield[chartSpec.data.id] = undefined;\n }\n chartSpec?.series.forEach((seriesSpec: any) => {\n if (!seriesSpec.data?.fromDataId) {\n if (!seriesSpec.data?.transforms) {\n const seriesField = seriesSpec.direction === 'horizontal' ? seriesSpec.xField : seriesSpec.yField;\n dataIdfield[seriesSpec.data?.id ?? chartSpec.data?.id ?? 'data'] = seriesSpec.data?.id\n ? seriesField\n : undefined;\n } else {\n dataIdfield[seriesSpec.data?.id ?? chartSpec.data?.id ?? 'data'] = undefined;\n }\n }\n });\n return dataIdfield;\n }\n return chartSpec.data.id;\n}\n"]}
|
|
@@ -683,13 +683,14 @@ export class PivotLayoutMap {
|
|
|
683
683
|
return {
|
|
684
684
|
vtable_selected: {
|
|
685
685
|
filter: datum => {
|
|
686
|
+
var _a;
|
|
686
687
|
if (this._table._selectedDataItemsInChart.length >= 1) {
|
|
687
688
|
return !!this._table._selectedDataItemsInChart.find((item => {
|
|
688
689
|
for (const itemKey in item) if (item[itemKey] !== datum[itemKey]) return !1;
|
|
689
690
|
return !0;
|
|
690
691
|
}));
|
|
691
692
|
}
|
|
692
|
-
if (this._table._selectedDimensionInChart.length) {
|
|
693
|
+
if (null === (_a = this._table._selectedDimensionInChart) || void 0 === _a ? void 0 : _a.length) {
|
|
693
694
|
return !!this._table._selectedDimensionInChart.every((item => datum[item.key] === item.value));
|
|
694
695
|
}
|
|
695
696
|
return !1;
|
|
@@ -697,13 +698,14 @@ export class PivotLayoutMap {
|
|
|
697
698
|
},
|
|
698
699
|
vtable_selected_reverse: {
|
|
699
700
|
filter: datum => {
|
|
701
|
+
var _a;
|
|
700
702
|
if (this._table._selectedDataItemsInChart.length >= 1) {
|
|
701
703
|
return !this._table._selectedDataItemsInChart.find((item => {
|
|
702
704
|
for (const itemKey in item) if (item[itemKey] !== datum[itemKey]) return !1;
|
|
703
705
|
return !0;
|
|
704
706
|
}));
|
|
705
707
|
}
|
|
706
|
-
if (this._table._selectedDimensionInChart.length) {
|
|
708
|
+
if (null === (_a = this._table._selectedDimensionInChart) || void 0 === _a ? void 0 : _a.length) {
|
|
707
709
|
return !this._table._selectedDimensionInChart.every((item => datum[item.key] === item.value));
|
|
708
710
|
}
|
|
709
711
|
return !1;
|