@visactor/vtable 1.22.2 → 1.22.3
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.d.ts +3 -1
- package/cjs/ListTable.js +15 -8
- package/cjs/ListTable.js.map +1 -1
- package/cjs/PivotChart.js +10 -8
- package/cjs/PivotChart.js.map +1 -1
- package/cjs/PivotTable.d.ts +1 -0
- package/cjs/PivotTable.js +3 -0
- package/cjs/PivotTable.js.map +1 -1
- package/cjs/body-helper/style/ButtonStyle.d.ts +10 -1
- package/cjs/body-helper/style/ButtonStyle.js.map +1 -1
- package/cjs/body-helper/style/CheckboxStyle.d.ts +14 -1
- package/cjs/body-helper/style/CheckboxStyle.js.map +1 -1
- package/cjs/body-helper/style/RadioStyle.d.ts +8 -1
- package/cjs/body-helper/style/RadioStyle.js.map +1 -1
- package/cjs/body-helper/style/SwitchStyle.d.ts +13 -1
- package/cjs/body-helper/style/SwitchStyle.js.map +1 -1
- package/cjs/core/BaseTable.js +2 -2
- package/cjs/core/BaseTable.js.map +1 -1
- package/cjs/core/record-helper.js.map +1 -1
- package/cjs/data/DataSource.js +1 -1
- package/cjs/data/DataSource.js.map +1 -1
- package/cjs/dataset/dataset.js +5 -1
- package/cjs/dataset/dataset.js.map +1 -1
- package/cjs/event/listener/touch.js +2 -1
- package/cjs/event/listener/touch.js.map +1 -1
- package/cjs/event/scroll.d.ts +2 -0
- package/cjs/event/scroll.js +12 -3
- package/cjs/event/scroll.js.map +1 -1
- package/cjs/index.d.ts +2 -1
- package/cjs/index.js +18 -4
- package/cjs/index.js.map +1 -1
- package/cjs/layout/chart-helper/get-axis-config.d.ts +1 -0
- package/cjs/layout/chart-helper/get-axis-config.js +11 -8
- package/cjs/layout/chart-helper/get-axis-config.js.map +1 -1
- package/cjs/layout/chart-helper/get-chart-spec.js +7 -7
- package/cjs/layout/chart-helper/get-chart-spec.js.map +1 -1
- package/cjs/layout/index.js +2 -1
- package/cjs/layout/pivot-header-layout.d.ts +2 -1
- package/cjs/layout/pivot-header-layout.js +38 -4
- package/cjs/layout/pivot-header-layout.js.map +1 -1
- package/cjs/layout/pivot-layout.js +2 -0
- package/cjs/layout/row-height-map.js +1 -1
- package/cjs/layout/simple-header-layout.js +4 -4
- package/cjs/layout/simple-header-layout.js.map +1 -1
- package/cjs/layout/tree-helper.js +1 -1
- package/cjs/plugins/custom-cell-style.js +1 -2
- package/cjs/plugins/index.js +1 -1
- package/cjs/plugins/interface.js +1 -1
- package/cjs/plugins/invert-highlight.js +1 -1
- package/cjs/plugins/list-tree-stick-cell.js +1 -1
- package/cjs/plugins/plugin-manager.js +1 -1
- package/cjs/scenegraph/graphic/contributions/rect-contribution-render.js +1 -1
- package/cjs/scenegraph/graphic/contributions/rect-contribution-render.js.map +1 -1
- package/cjs/scenegraph/group-creater/cell-helper.js +1 -1
- package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
- package/cjs/scenegraph/layout/compute-row-height.js +7 -3
- package/cjs/scenegraph/layout/compute-row-height.js.map +1 -1
- package/cjs/scenegraph/scenegraph.js +1 -1
- package/cjs/state/cell-move/adjust-header.d.ts +13 -0
- package/cjs/state/cell-move/adjust-header.js +50 -3
- package/cjs/state/cell-move/adjust-header.js.map +1 -1
- package/cjs/state/cell-move/index.js +2 -1
- package/cjs/state/cell-move/index.js.map +1 -1
- package/cjs/ts-types/base-table.d.ts +7 -2
- package/cjs/ts-types/base-table.js.map +1 -1
- package/cjs/ts-types/list-table/define/basic-define.d.ts +1 -1
- package/cjs/ts-types/list-table/define/basic-define.js.map +1 -1
- package/cjs/ts-types/new-data-set.d.ts +1 -0
- package/cjs/ts-types/new-data-set.js.map +1 -1
- package/cjs/ts-types/table-engine.d.ts +9 -2
- package/cjs/ts-types/table-engine.js.map +1 -1
- package/cjs/vrender.js.map +1 -1
- package/dist/vtable.js +297 -48
- package/dist/vtable.min.js +2 -2
- package/es/ListTable.d.ts +3 -1
- package/es/ListTable.js +17 -10
- package/es/ListTable.js.map +1 -1
- package/es/PivotChart.js +10 -8
- package/es/PivotChart.js.map +1 -1
- package/es/PivotTable.d.ts +1 -0
- package/es/PivotTable.js +3 -0
- package/es/PivotTable.js.map +1 -1
- package/es/body-helper/style/ButtonStyle.d.ts +10 -1
- package/es/body-helper/style/ButtonStyle.js.map +1 -1
- package/es/body-helper/style/CheckboxStyle.d.ts +14 -1
- package/es/body-helper/style/CheckboxStyle.js.map +1 -1
- package/es/body-helper/style/RadioStyle.d.ts +8 -1
- package/es/body-helper/style/RadioStyle.js.map +1 -1
- package/es/body-helper/style/SwitchStyle.d.ts +13 -1
- package/es/body-helper/style/SwitchStyle.js.map +1 -1
- package/es/core/BaseTable.js +2 -2
- package/es/core/BaseTable.js.map +1 -1
- package/es/core/record-helper.js.map +1 -1
- package/es/data/DataSource.js +1 -1
- package/es/data/DataSource.js.map +1 -1
- package/es/dataset/dataset.js +5 -1
- package/es/dataset/dataset.js.map +1 -1
- package/es/event/listener/touch.js +2 -2
- package/es/event/listener/touch.js.map +1 -1
- package/es/event/scroll.d.ts +2 -0
- package/es/event/scroll.js +9 -1
- package/es/event/scroll.js.map +1 -1
- package/es/index.d.ts +2 -1
- package/es/index.js +3 -1
- package/es/index.js.map +1 -1
- package/es/layout/chart-helper/get-axis-config.d.ts +1 -0
- package/es/layout/chart-helper/get-axis-config.js +11 -8
- package/es/layout/chart-helper/get-axis-config.js.map +1 -1
- package/es/layout/chart-helper/get-chart-spec.js +6 -7
- package/es/layout/chart-helper/get-chart-spec.js.map +1 -1
- package/es/layout/index.js +2 -1
- package/es/layout/pivot-header-layout.d.ts +2 -1
- package/es/layout/pivot-header-layout.js +38 -4
- package/es/layout/pivot-header-layout.js.map +1 -1
- package/es/layout/pivot-layout.js +2 -0
- package/es/layout/row-height-map.js +1 -1
- package/es/layout/simple-header-layout.js +4 -4
- package/es/layout/simple-header-layout.js.map +1 -1
- package/es/layout/tree-helper.js +1 -1
- package/es/plugins/custom-cell-style.js +1 -2
- package/es/plugins/index.js +1 -1
- package/es/plugins/interface.js +1 -1
- package/es/plugins/invert-highlight.js +1 -1
- package/es/plugins/list-tree-stick-cell.js +1 -1
- package/es/plugins/plugin-manager.js +1 -1
- package/es/scenegraph/graphic/contributions/rect-contribution-render.js +1 -1
- package/es/scenegraph/graphic/contributions/rect-contribution-render.js.map +1 -1
- package/es/scenegraph/group-creater/cell-helper.js +2 -2
- package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
- package/es/scenegraph/layout/compute-row-height.js +7 -3
- package/es/scenegraph/layout/compute-row-height.js.map +1 -1
- package/es/scenegraph/scenegraph.js +1 -1
- package/es/state/cell-move/adjust-header.d.ts +13 -0
- package/es/state/cell-move/adjust-header.js +46 -2
- package/es/state/cell-move/adjust-header.js.map +1 -1
- package/es/state/cell-move/index.js +2 -1
- package/es/state/cell-move/index.js.map +1 -1
- package/es/ts-types/base-table.d.ts +7 -2
- package/es/ts-types/base-table.js.map +1 -1
- package/es/ts-types/list-table/define/basic-define.d.ts +1 -1
- package/es/ts-types/list-table/define/basic-define.js.map +1 -1
- package/es/ts-types/new-data-set.d.ts +1 -0
- package/es/ts-types/new-data-set.js.map +1 -1
- package/es/ts-types/table-engine.d.ts +9 -2
- package/es/ts-types/table-engine.js.map +1 -1
- package/es/vrender.js.map +1 -1
- package/package.json +4 -4
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { vglobal } from "./../../vrender";
|
|
2
2
|
|
|
3
|
-
import { handleWhell, isHorizontalScrollable, isVerticalScrollable } from "../scroll";
|
|
3
|
+
import { handleWhell, isHorizontalExistScrollBar, isHorizontalScrollable, isVerticalExistScrollBar, isVerticalScrollable } from "../scroll";
|
|
4
4
|
|
|
5
5
|
import { IconFuncTypeEnum } from "../../ts-types";
|
|
6
6
|
|
|
@@ -35,7 +35,7 @@ export function bindTouchListener(eventManager) {
|
|
|
35
35
|
handleWhell({
|
|
36
36
|
deltaX: deltaX,
|
|
37
37
|
deltaY: deltaY
|
|
38
|
-
}, stateManager), e.cancelable && ("none" === table.internalProps.overscrollBehavior || Math.abs(deltaY) >= Math.abs(deltaX) && 0 !== deltaY && isVerticalScrollable(deltaY, stateManager) || Math.abs(deltaY) <= Math.abs(deltaX) && 0 !== deltaX && isHorizontalScrollable(deltaX, stateManager)) && e.preventDefault();
|
|
38
|
+
}, stateManager), e.cancelable && ("none" === table.internalProps.overscrollBehavior && (deltaY && isVerticalExistScrollBar(stateManager) || deltaX && isHorizontalExistScrollBar(stateManager)) || Math.abs(deltaY) >= Math.abs(deltaX) && 0 !== deltaY && isVerticalScrollable(deltaY, stateManager) || Math.abs(deltaY) <= Math.abs(deltaX) && 0 !== deltaX && isHorizontalScrollable(deltaX, stateManager)) && e.preventDefault();
|
|
39
39
|
}
|
|
40
40
|
};
|
|
41
41
|
vglobal.addEventListener("touchmove", globalTouchMoveCallback, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/event/listener/touch.ts"],"names":[],"mappings":"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","file":"touch.js","sourcesContent":["import { vglobal } from './../../vrender';\nimport type { FederatedPointerEvent } from './../../vrender';\nimport { handleWhell, isHorizontalScrollable, isVerticalScrollable } from '../scroll';\nimport type { EventManager } from '../event';\nimport { IconFuncTypeEnum } from '../../ts-types';\n\nexport function bindTouchListener(eventManager: EventManager) {\n const table = eventManager.table;\n const stateManager = table.stateManager;\n const scenegraph = table.scenegraph;\n if ((vglobal as any).envContribution.supportsTouchEvents === false) {\n return;\n }\n // 阻止右键事件\n vglobal.addEventListener(\n 'contextmenu',\n e => {\n e.stopPropagation();\n e.preventDefault();\n },\n // 捕获阶段就阻止\n { capture: true }\n );\n\n // deal width touch scrolling in mobile devices\n eventManager.touchMovePoints = [];\n table.scenegraph.tableGroup.addEventListener('touchstart', (e: FederatedPointerEvent) => {\n if (e.target.isChildOf(scenegraph.component.vScrollBar) || e.target.isChildOf(scenegraph.component.vScrollBar)) {\n return;\n }\n eventManager.isTouchdown = true;\n const touchEvent = e.nativeEvent as TouchEvent;\n eventManager.touchMovePoints.push({\n x: table.rotateDegree ? (touchEvent.changedTouches?.[0] as any)?._canvasX ?? e.canvas?.x : e.page.x,\n y: table.rotateDegree ? (touchEvent.changedTouches?.[0] as any)?._canvasY ?? e.canvas?.y : e.page.y,\n timestamp: Date.now()\n });\n });\n\n const globalTouchMoveCallback = (e: TouchEvent) => {\n if (eventManager.isLongTouch) {\n e.preventDefault();\n }\n if (!eventManager.isTouchdown || !isTouchEvent(e)) {\n return;\n }\n eventManager.isTouchMove = true;\n if ((eventManager.downIcon?.attribute as any)?.funcType === IconFuncTypeEnum.dragReorder) {\n // console.log()\n e.preventDefault();\n } else {\n // collect four last touch pisitions\n if (eventManager.touchMovePoints.length > 4) {\n eventManager.touchMovePoints.shift();\n }\n eventManager.touchMovePoints.push({\n x: table.rotateDegree ? (e.changedTouches[0] as any)._canvasX : e.changedTouches[0].pageX,\n y: table.rotateDegree ? (e.changedTouches[0] as any)._canvasY : e.changedTouches[0].pageY,\n timestamp: Date.now()\n });\n if (eventManager._enableTableScroll) {\n const deltaX =\n -eventManager.touchMovePoints[eventManager.touchMovePoints.length - 1].x +\n eventManager.touchMovePoints[eventManager.touchMovePoints.length - 2].x;\n const deltaY =\n -eventManager.touchMovePoints[eventManager.touchMovePoints.length - 1].y +\n eventManager.touchMovePoints[eventManager.touchMovePoints.length - 2].y;\n handleWhell({ deltaX, deltaY } as any, stateManager);\n\n if (\n e.cancelable &&\n (table.internalProps.overscrollBehavior === 'none' ||\n (Math.abs(deltaY) >= Math.abs(deltaX) && deltaY !== 0 && isVerticalScrollable(deltaY, stateManager)) ||\n (Math.abs(deltaY) <= Math.abs(deltaX) && deltaX !== 0 && isHorizontalScrollable(deltaX, stateManager)))\n ) {\n e.preventDefault();\n }\n }\n }\n };\n vglobal.addEventListener('touchmove', globalTouchMoveCallback, { passive: false });\n eventManager.globalEventListeners.push({\n name: 'touchmove',\n env: 'vglobal',\n callback: globalTouchMoveCallback\n });\n\n const globalTouchEndCallback = (e: TouchEvent) => {\n eventManager.touchEnd = true;\n eventManager.isLongTouch = false;\n if (!eventManager.isTouchdown || !isTouchEvent(e)) {\n return;\n }\n if ((eventManager.downIcon?.attribute as any)?.funcType === IconFuncTypeEnum.dragReorder) {\n // console.log()\n e.preventDefault();\n } else {\n if (eventManager.touchMovePoints?.length) {\n if (eventManager.touchMovePoints.length > 4) {\n eventManager.touchMovePoints.shift();\n }\n eventManager.touchMovePoints.push({\n x: table.rotateDegree ? (e.changedTouches[0] as any)._canvasX : e.changedTouches[0].pageX,\n y: table.rotateDegree ? (e.changedTouches[0] as any)._canvasY : e.changedTouches[0].pageY,\n timestamp: Date.now()\n });\n // compute inertia parameter\n\n if (eventManager._enableTableScroll) {\n const firstPoint = eventManager.touchMovePoints[0];\n const lastPoint = eventManager.touchMovePoints[eventManager.touchMovePoints?.length - 1];\n const vX = (lastPoint.x - firstPoint.x) / (lastPoint.timestamp - firstPoint.timestamp);\n const vY = (lastPoint.y - firstPoint.y) / (lastPoint.timestamp - firstPoint.timestamp);\n //开始惯性滚动\n eventManager.inertiaScroll.startInertia(vX, vY, 0.95);\n table.eventManager.inertiaScroll.setScrollHandle((dx: number, dy: number) => {\n handleWhell({ deltaX: -dx, deltaY: -dy } as any, table.stateManager);\n });\n }\n }\n }\n eventManager.isTouchdown = false;\n eventManager.isTouchMove = false;\n eventManager.isDraging = false;\n eventManager.touchMovePoints = [];\n };\n vglobal.addEventListener('touchend', globalTouchEndCallback);\n eventManager.globalEventListeners.push({\n name: 'touchend',\n env: 'vglobal',\n callback: globalTouchEndCallback\n });\n\n const globalTouchCancelCallback = (e: TouchEvent) => {\n eventManager.touchEnd = true;\n eventManager.isLongTouch = false;\n\n if (!eventManager.isTouchdown) {\n return;\n }\n eventManager.isTouchdown = false;\n eventManager.isTouchMove = false;\n eventManager.touchMovePoints = [];\n eventManager.isDraging = false;\n };\n vglobal.addEventListener('touchcancel', globalTouchCancelCallback);\n eventManager.globalEventListeners.push({\n name: 'touchcancel',\n env: 'vglobal',\n callback: globalTouchCancelCallback\n });\n}\n\nfunction isTouchEvent(e: TouchEvent | MouseEvent): e is TouchEvent {\n return !!(e as TouchEvent).changedTouches;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/event/listener/touch.ts"],"names":[],"mappings":"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","file":"touch.js","sourcesContent":["import { vglobal } from './../../vrender';\nimport type { FederatedPointerEvent } from './../../vrender';\nimport {\n handleWhell,\n isHorizontalExistScrollBar,\n isHorizontalScrollable,\n isVerticalExistScrollBar,\n isVerticalScrollable\n} from '../scroll';\nimport type { EventManager } from '../event';\nimport { IconFuncTypeEnum } from '../../ts-types';\n\nexport function bindTouchListener(eventManager: EventManager) {\n const table = eventManager.table;\n const stateManager = table.stateManager;\n const scenegraph = table.scenegraph;\n if ((vglobal as any).envContribution.supportsTouchEvents === false) {\n return;\n }\n // 阻止右键事件\n vglobal.addEventListener(\n 'contextmenu',\n e => {\n e.stopPropagation();\n e.preventDefault();\n },\n // 捕获阶段就阻止\n { capture: true }\n );\n\n // deal width touch scrolling in mobile devices\n eventManager.touchMovePoints = [];\n table.scenegraph.tableGroup.addEventListener('touchstart', (e: FederatedPointerEvent) => {\n if (e.target.isChildOf(scenegraph.component.vScrollBar) || e.target.isChildOf(scenegraph.component.vScrollBar)) {\n return;\n }\n eventManager.isTouchdown = true;\n const touchEvent = e.nativeEvent as TouchEvent;\n eventManager.touchMovePoints.push({\n x: table.rotateDegree ? (touchEvent.changedTouches?.[0] as any)?._canvasX ?? e.canvas?.x : e.page.x,\n y: table.rotateDegree ? (touchEvent.changedTouches?.[0] as any)?._canvasY ?? e.canvas?.y : e.page.y,\n timestamp: Date.now()\n });\n });\n\n const globalTouchMoveCallback = (e: TouchEvent) => {\n if (eventManager.isLongTouch) {\n e.preventDefault();\n }\n if (!eventManager.isTouchdown || !isTouchEvent(e)) {\n return;\n }\n eventManager.isTouchMove = true;\n if ((eventManager.downIcon?.attribute as any)?.funcType === IconFuncTypeEnum.dragReorder) {\n // console.log()\n e.preventDefault();\n } else {\n // collect four last touch pisitions\n if (eventManager.touchMovePoints.length > 4) {\n eventManager.touchMovePoints.shift();\n }\n eventManager.touchMovePoints.push({\n x: table.rotateDegree ? (e.changedTouches[0] as any)._canvasX : e.changedTouches[0].pageX,\n y: table.rotateDegree ? (e.changedTouches[0] as any)._canvasY : e.changedTouches[0].pageY,\n timestamp: Date.now()\n });\n if (eventManager._enableTableScroll) {\n const deltaX =\n -eventManager.touchMovePoints[eventManager.touchMovePoints.length - 1].x +\n eventManager.touchMovePoints[eventManager.touchMovePoints.length - 2].x;\n const deltaY =\n -eventManager.touchMovePoints[eventManager.touchMovePoints.length - 1].y +\n eventManager.touchMovePoints[eventManager.touchMovePoints.length - 2].y;\n handleWhell({ deltaX, deltaY } as any, stateManager);\n\n if (\n e.cancelable &&\n ((table.internalProps.overscrollBehavior === 'none' &&\n ((deltaY && isVerticalExistScrollBar(stateManager)) ||\n (deltaX && isHorizontalExistScrollBar(stateManager)))) ||\n (Math.abs(deltaY) >= Math.abs(deltaX) && deltaY !== 0 && isVerticalScrollable(deltaY, stateManager)) ||\n (Math.abs(deltaY) <= Math.abs(deltaX) && deltaX !== 0 && isHorizontalScrollable(deltaX, stateManager)))\n ) {\n e.preventDefault();\n }\n }\n }\n };\n vglobal.addEventListener('touchmove', globalTouchMoveCallback, { passive: false });\n eventManager.globalEventListeners.push({\n name: 'touchmove',\n env: 'vglobal',\n callback: globalTouchMoveCallback\n });\n\n const globalTouchEndCallback = (e: TouchEvent) => {\n eventManager.touchEnd = true;\n eventManager.isLongTouch = false;\n if (!eventManager.isTouchdown || !isTouchEvent(e)) {\n return;\n }\n if ((eventManager.downIcon?.attribute as any)?.funcType === IconFuncTypeEnum.dragReorder) {\n // console.log()\n e.preventDefault();\n } else {\n if (eventManager.touchMovePoints?.length) {\n if (eventManager.touchMovePoints.length > 4) {\n eventManager.touchMovePoints.shift();\n }\n eventManager.touchMovePoints.push({\n x: table.rotateDegree ? (e.changedTouches[0] as any)._canvasX : e.changedTouches[0].pageX,\n y: table.rotateDegree ? (e.changedTouches[0] as any)._canvasY : e.changedTouches[0].pageY,\n timestamp: Date.now()\n });\n // compute inertia parameter\n\n if (eventManager._enableTableScroll) {\n const firstPoint = eventManager.touchMovePoints[0];\n const lastPoint = eventManager.touchMovePoints[eventManager.touchMovePoints?.length - 1];\n const vX = (lastPoint.x - firstPoint.x) / (lastPoint.timestamp - firstPoint.timestamp);\n const vY = (lastPoint.y - firstPoint.y) / (lastPoint.timestamp - firstPoint.timestamp);\n //开始惯性滚动\n eventManager.inertiaScroll.startInertia(vX, vY, 0.95);\n table.eventManager.inertiaScroll.setScrollHandle((dx: number, dy: number) => {\n handleWhell({ deltaX: -dx, deltaY: -dy } as any, table.stateManager);\n });\n }\n }\n }\n eventManager.isTouchdown = false;\n eventManager.isTouchMove = false;\n eventManager.isDraging = false;\n eventManager.touchMovePoints = [];\n };\n vglobal.addEventListener('touchend', globalTouchEndCallback);\n eventManager.globalEventListeners.push({\n name: 'touchend',\n env: 'vglobal',\n callback: globalTouchEndCallback\n });\n\n const globalTouchCancelCallback = (e: TouchEvent) => {\n eventManager.touchEnd = true;\n eventManager.isLongTouch = false;\n\n if (!eventManager.isTouchdown) {\n return;\n }\n eventManager.isTouchdown = false;\n eventManager.isTouchMove = false;\n eventManager.touchMovePoints = [];\n eventManager.isDraging = false;\n };\n vglobal.addEventListener('touchcancel', globalTouchCancelCallback);\n eventManager.globalEventListeners.push({\n name: 'touchcancel',\n env: 'vglobal',\n callback: globalTouchCancelCallback\n });\n}\n\nfunction isTouchEvent(e: TouchEvent | MouseEvent): e is TouchEvent {\n return !!(e as TouchEvent).changedTouches;\n}\n"]}
|
package/es/event/scroll.d.ts
CHANGED
|
@@ -3,6 +3,8 @@ import { type FederatedWheelEvent } from './../vrender';
|
|
|
3
3
|
export declare function handleWhell(event: FederatedWheelEvent, state: StateManager, isWheelEvent?: boolean): void;
|
|
4
4
|
export declare function isVerticalScrollable(deltaY: number, state: StateManager): boolean;
|
|
5
5
|
export declare function isHorizontalScrollable(deltaX: number, state: StateManager): boolean;
|
|
6
|
+
export declare function isVerticalExistScrollBar(state: StateManager): boolean;
|
|
7
|
+
export declare function isHorizontalExistScrollBar(state: StateManager): boolean;
|
|
6
8
|
export declare class InertiaScroll {
|
|
7
9
|
friction: number;
|
|
8
10
|
lastTime: number;
|
package/es/event/scroll.js
CHANGED
|
@@ -15,7 +15,7 @@ export function handleWhell(event, state, isWheelEvent = !0) {
|
|
|
15
15
|
optimizedDeltaX && (state.setScrollLeft(state.scroll.horizontalBarPos + optimizedDeltaX, event),
|
|
16
16
|
state.showHorizontalScrollBar(autoHide)), optimizedDeltaY && (state.setScrollTop(state.scroll.verticalBarPos + optimizedDeltaY, event),
|
|
17
17
|
state.showVerticalScrollBar(autoHide)), isWheelEvent && state.resetInteractionState(state.interactionStateBeforeScroll),
|
|
18
|
-
(null === (_c = event.nativeEvent) || void 0 === _c ? void 0 : _c.cancelable) && ("none" === state.table.internalProps.overscrollBehavior || Math.abs(deltaY) >= Math.abs(deltaX) && 0 !== deltaY && isVerticalScrollable(deltaY, state) || Math.abs(deltaY) <= Math.abs(deltaX) && 0 !== deltaX && isHorizontalScrollable(deltaX, state)) && event.nativeEvent.preventDefault();
|
|
18
|
+
(null === (_c = event.nativeEvent) || void 0 === _c ? void 0 : _c.cancelable) && ("none" === state.table.internalProps.overscrollBehavior && (deltaY && isVerticalExistScrollBar(state) || deltaX && isHorizontalExistScrollBar(state)) || Math.abs(deltaY) >= Math.abs(deltaX) && 0 !== deltaY && isVerticalScrollable(deltaY, state) || Math.abs(deltaY) <= Math.abs(deltaX) && 0 !== deltaX && isHorizontalScrollable(deltaX, state)) && event.nativeEvent.preventDefault();
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
function optimizeScrollXY(x, y, ratio) {
|
|
@@ -32,6 +32,14 @@ export function isHorizontalScrollable(deltaX, state) {
|
|
|
32
32
|
return 0 != state.table.getAllColsWidth() - state.table.scenegraph.width && (!isScrollToLeft(deltaX, state) && !isScrollToRight(deltaX, state));
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
+
export function isVerticalExistScrollBar(state) {
|
|
36
|
+
return !(state.table.getAllRowsHeight() - state.table.scenegraph.height <= 0);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export function isHorizontalExistScrollBar(state) {
|
|
40
|
+
return !(state.table.getAllColsWidth() - state.table.scenegraph.width <= 0);
|
|
41
|
+
}
|
|
42
|
+
|
|
35
43
|
function isScrollToTop(deltaY, state) {
|
|
36
44
|
return 0 !== state.table.getAllRowsHeight() - state.table.scenegraph.height && deltaY <= 0 && state.scroll.verticalBarPos < 1;
|
|
37
45
|
}
|
package/es/event/scroll.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/event/scroll.ts"],"names":[],"mappings":"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","file":"scroll.js","sourcesContent":["import type { StateManager } from '../state/state';\nimport { InteractionState } from '../ts-types';\nimport { vglobal, type FederatedWheelEvent } from './../vrender';\n\n/**\n *\n * @param event\n * @param state\n * @param isWheelEvent 是否是由鼠标或者触摸板原生滚动事件触发进入?\n */\nexport function handleWhell(event: FederatedWheelEvent, state: StateManager, isWheelEvent: boolean = true) {\n let { deltaX, deltaY } = event;\n // 如果按住了shift 则进行横向滚动 纵向不滚动\n if (event.shiftKey && event.deltaY) {\n //mac电脑按住shift 鼠标滚动deltaX和deltaY是自动互换的,所以此逻辑只针对windows电脑有效及mac触摸板有效\n deltaX = deltaY;\n deltaY = 0;\n }\n const [optimizedDeltaX, optimizedDeltaY] = optimizeScrollXY(deltaX, deltaY, { horizontal: 1, vertical: 1 });\n if (optimizedDeltaX || optimizedDeltaY) {\n if (state.interactionState !== InteractionState.scrolling) {\n state.updateInteractionState(InteractionState.scrolling);\n }\n }\n const autoHide = state.table.options.theme?.scrollStyle?.visible === 'scrolling';\n if (optimizedDeltaX) {\n state.setScrollLeft(state.scroll.horizontalBarPos + optimizedDeltaX, event);\n state.showHorizontalScrollBar(autoHide);\n }\n if (optimizedDeltaY) {\n state.setScrollTop(state.scroll.verticalBarPos + optimizedDeltaY, event);\n state.showVerticalScrollBar(autoHide);\n }\n isWheelEvent && state.resetInteractionState(state.interactionStateBeforeScroll);\n if (\n event.nativeEvent?.cancelable &&\n (state.table.internalProps.overscrollBehavior === 'none' ||\n (Math.abs(deltaY) >= Math.abs(deltaX) && deltaY !== 0 && isVerticalScrollable(deltaY, state)) ||\n (Math.abs(deltaY) <= Math.abs(deltaX) && deltaX !== 0 && isHorizontalScrollable(deltaX, state)))\n ) {\n event.nativeEvent.preventDefault();\n }\n}\n\ninterface ScrollSpeedRatio {\n horizontal?: number;\n vertical?: number;\n}\n\n/**\n * 优化滚动方向,对于小角度的滚动,固定为一个方向\n * @param x\n * @param y\n * @param ratio\n */\nfunction optimizeScrollXY(x: number, y: number, ratio: ScrollSpeedRatio): [number, number] {\n const ANGLE = 2; // 调参 根据斜率来调整xy方向的划分\n const angle = Math.abs(x / y);\n\n // 经过滚动优化之后的 x, y\n const deltaX = angle <= 1 / ANGLE ? 0 : x;\n const deltaY = angle > ANGLE ? 0 : y;\n\n return [Math.ceil(deltaX * (ratio.horizontal ?? 0)), Math.ceil(deltaY * (ratio.vertical ?? 0))];\n}\n\nexport function isVerticalScrollable(deltaY: number, state: StateManager) {\n const totalHeight = state.table.getAllRowsHeight() - state.table.scenegraph.height;\n if (totalHeight === 0) {\n return false;\n }\n return !isScrollToTop(deltaY, state) && !isScrollToBottom(deltaY, state);\n}\n\nexport function isHorizontalScrollable(deltaX: number, state: StateManager) {\n const totalWidth = state.table.getAllColsWidth() - state.table.scenegraph.width;\n if (totalWidth === 0) {\n return false;\n }\n return !isScrollToLeft(deltaX, state) && !isScrollToRight(deltaX, state);\n}\n\nfunction isScrollToTop(deltaY: number, state: StateManager) {\n const totalHeight = state.table.getAllRowsHeight() - state.table.scenegraph.height;\n return totalHeight !== 0 && deltaY <= 0 && state.scroll.verticalBarPos < 1;\n}\n\nfunction isScrollToBottom(deltaY: number, state: StateManager) {\n // 这里加入tolerance,避免出现无用滚动\n const sizeTolerance = state.table.options.customConfig?._disableColumnAndRowSizeRound ? 1 : 0;\n\n const totalHeight = state.table.getAllRowsHeight() - state.table.scenegraph.height;\n return totalHeight !== 0 && deltaY >= 0 && Math.abs(state.scroll.verticalBarPos - totalHeight) < 1 + sizeTolerance;\n}\n\nfunction isScrollToLeft(deltaX: number, state: StateManager) {\n const totalWidth = state.table.getAllColsWidth() - state.table.scenegraph.width;\n return totalWidth !== 0 && deltaX <= 0 && state.scroll.horizontalBarPos < 1;\n}\n\nfunction isScrollToRight(deltaX: number, state: StateManager) {\n // 这里加入tolerance,避免出现无用滚动\n const sizeTolerance = state.table.options.customConfig?._disableColumnAndRowSizeRound ? 1 : 0;\n\n const totalWidth = state.table.getAllColsWidth() - state.table.scenegraph.width;\n return totalWidth !== 0 && deltaX >= 0 && Math.abs(state.scroll.horizontalBarPos - totalWidth) < 1 + sizeTolerance;\n}\n\nexport class InertiaScroll {\n friction: number;\n lastTime: number;\n speedX: number;\n speedY: number;\n stateManager: StateManager;\n runingId: number;\n scrollHandle: (dx: number, dy: number) => void;\n constructor(stateManager: StateManager) {\n this.stateManager = stateManager;\n }\n setScrollHandle(scrollHandle: (dx: number, dy: number) => void) {\n this.scrollHandle = scrollHandle;\n }\n\n startInertia(speedX: number, speedY: number, friction: number) {\n this.lastTime = Date.now();\n this.speedX = speedX;\n this.speedY = speedY;\n this.friction = friction;\n if (!this.runingId) {\n this.runingId = vglobal.getRequestAnimationFrame()(this.inertia.bind(this));\n }\n }\n inertia() {\n const now = Date.now();\n const dffTime = now - this.lastTime;\n let stopped = true;\n const f = Math.pow(this.friction, dffTime / 16);\n const newSpeedX = f * this.speedX;\n const newSpeedY = f * this.speedY;\n let dx = 0;\n let dy = 0;\n if (Math.abs(newSpeedX) > 0.05) {\n stopped = false;\n dx = ((this.speedX + newSpeedX) / 2) * dffTime;\n }\n if (Math.abs(newSpeedY) > 0.05) {\n stopped = false;\n dy = ((this.speedY + newSpeedY) / 2) * dffTime;\n }\n this.scrollHandle?.(dx, dy);\n if (stopped) {\n this.runingId = null;\n return;\n }\n this.lastTime = now;\n this.speedX = newSpeedX;\n this.speedY = newSpeedY;\n\n this.runingId = vglobal.getRequestAnimationFrame()(this.inertia.bind(this));\n }\n endInertia() {\n vglobal.getCancelAnimationFrame()(this.runingId);\n this.runingId = null;\n }\n isInertiaScrolling() {\n return !!this.runingId;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/event/scroll.ts"],"names":[],"mappings":"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","file":"scroll.js","sourcesContent":["import type { StateManager } from '../state/state';\nimport { InteractionState } from '../ts-types';\nimport { vglobal, type FederatedWheelEvent } from './../vrender';\n\n/**\n *\n * @param event\n * @param state\n * @param isWheelEvent 是否是由鼠标或者触摸板原生滚动事件触发进入?\n */\nexport function handleWhell(event: FederatedWheelEvent, state: StateManager, isWheelEvent: boolean = true) {\n let { deltaX, deltaY } = event;\n // 如果按住了shift 则进行横向滚动 纵向不滚动\n if (event.shiftKey && event.deltaY) {\n //mac电脑按住shift 鼠标滚动deltaX和deltaY是自动互换的,所以此逻辑只针对windows电脑有效及mac触摸板有效\n deltaX = deltaY;\n deltaY = 0;\n }\n const [optimizedDeltaX, optimizedDeltaY] = optimizeScrollXY(deltaX, deltaY, { horizontal: 1, vertical: 1 });\n if (optimizedDeltaX || optimizedDeltaY) {\n if (state.interactionState !== InteractionState.scrolling) {\n state.updateInteractionState(InteractionState.scrolling);\n }\n }\n const autoHide = state.table.options.theme?.scrollStyle?.visible === 'scrolling';\n if (optimizedDeltaX) {\n state.setScrollLeft(state.scroll.horizontalBarPos + optimizedDeltaX, event);\n state.showHorizontalScrollBar(autoHide);\n }\n if (optimizedDeltaY) {\n state.setScrollTop(state.scroll.verticalBarPos + optimizedDeltaY, event);\n state.showVerticalScrollBar(autoHide);\n }\n isWheelEvent && state.resetInteractionState(state.interactionStateBeforeScroll);\n if (\n event.nativeEvent?.cancelable &&\n ((state.table.internalProps.overscrollBehavior === 'none' &&\n ((deltaY && isVerticalExistScrollBar(state)) || (deltaX && isHorizontalExistScrollBar(state)))) ||\n (Math.abs(deltaY) >= Math.abs(deltaX) && deltaY !== 0 && isVerticalScrollable(deltaY, state)) ||\n (Math.abs(deltaY) <= Math.abs(deltaX) && deltaX !== 0 && isHorizontalScrollable(deltaX, state)))\n ) {\n event.nativeEvent.preventDefault();\n }\n}\n\ninterface ScrollSpeedRatio {\n horizontal?: number;\n vertical?: number;\n}\n\n/**\n * 优化滚动方向,对于小角度的滚动,固定为一个方向\n * @param x\n * @param y\n * @param ratio\n */\nfunction optimizeScrollXY(x: number, y: number, ratio: ScrollSpeedRatio): [number, number] {\n const ANGLE = 2; // 调参 根据斜率来调整xy方向的划分\n const angle = Math.abs(x / y);\n\n // 经过滚动优化之后的 x, y\n const deltaX = angle <= 1 / ANGLE ? 0 : x;\n const deltaY = angle > ANGLE ? 0 : y;\n\n return [Math.ceil(deltaX * (ratio.horizontal ?? 0)), Math.ceil(deltaY * (ratio.vertical ?? 0))];\n}\n\nexport function isVerticalScrollable(deltaY: number, state: StateManager) {\n const totalHeight = state.table.getAllRowsHeight() - state.table.scenegraph.height;\n if (totalHeight === 0) {\n return false;\n }\n return !isScrollToTop(deltaY, state) && !isScrollToBottom(deltaY, state);\n}\n\nexport function isHorizontalScrollable(deltaX: number, state: StateManager) {\n const totalWidth = state.table.getAllColsWidth() - state.table.scenegraph.width;\n if (totalWidth === 0) {\n return false;\n }\n return !isScrollToLeft(deltaX, state) && !isScrollToRight(deltaX, state);\n}\n\nexport function isVerticalExistScrollBar(state: StateManager) {\n const totalHeight = state.table.getAllRowsHeight() - state.table.scenegraph.height;\n if (totalHeight <= 0) {\n return false;\n }\n return true;\n}\n\nexport function isHorizontalExistScrollBar(state: StateManager) {\n const totalWidth = state.table.getAllColsWidth() - state.table.scenegraph.width;\n if (totalWidth <= 0) {\n return false;\n }\n return true;\n}\n\nfunction isScrollToTop(deltaY: number, state: StateManager) {\n const totalHeight = state.table.getAllRowsHeight() - state.table.scenegraph.height;\n return totalHeight !== 0 && deltaY <= 0 && state.scroll.verticalBarPos < 1;\n}\n\nfunction isScrollToBottom(deltaY: number, state: StateManager) {\n // 这里加入tolerance,避免出现无用滚动\n const sizeTolerance = state.table.options.customConfig?._disableColumnAndRowSizeRound ? 1 : 0;\n\n const totalHeight = state.table.getAllRowsHeight() - state.table.scenegraph.height;\n return totalHeight !== 0 && deltaY >= 0 && Math.abs(state.scroll.verticalBarPos - totalHeight) < 1 + sizeTolerance;\n}\n\nfunction isScrollToLeft(deltaX: number, state: StateManager) {\n const totalWidth = state.table.getAllColsWidth() - state.table.scenegraph.width;\n return totalWidth !== 0 && deltaX <= 0 && state.scroll.horizontalBarPos < 1;\n}\n\nfunction isScrollToRight(deltaX: number, state: StateManager) {\n // 这里加入tolerance,避免出现无用滚动\n const sizeTolerance = state.table.options.customConfig?._disableColumnAndRowSizeRound ? 1 : 0;\n\n const totalWidth = state.table.getAllColsWidth() - state.table.scenegraph.width;\n return totalWidth !== 0 && deltaX >= 0 && Math.abs(state.scroll.horizontalBarPos - totalWidth) < 1 + sizeTolerance;\n}\n\nexport class InertiaScroll {\n friction: number;\n lastTime: number;\n speedX: number;\n speedY: number;\n stateManager: StateManager;\n runingId: number;\n scrollHandle: (dx: number, dy: number) => void;\n constructor(stateManager: StateManager) {\n this.stateManager = stateManager;\n }\n setScrollHandle(scrollHandle: (dx: number, dy: number) => void) {\n this.scrollHandle = scrollHandle;\n }\n\n startInertia(speedX: number, speedY: number, friction: number) {\n this.lastTime = Date.now();\n this.speedX = speedX;\n this.speedY = speedY;\n this.friction = friction;\n if (!this.runingId) {\n this.runingId = vglobal.getRequestAnimationFrame()(this.inertia.bind(this));\n }\n }\n inertia() {\n const now = Date.now();\n const dffTime = now - this.lastTime;\n let stopped = true;\n const f = Math.pow(this.friction, dffTime / 16);\n const newSpeedX = f * this.speedX;\n const newSpeedY = f * this.speedY;\n let dx = 0;\n let dy = 0;\n if (Math.abs(newSpeedX) > 0.05) {\n stopped = false;\n dx = ((this.speedX + newSpeedX) / 2) * dffTime;\n }\n if (Math.abs(newSpeedY) > 0.05) {\n stopped = false;\n dy = ((this.speedY + newSpeedY) / 2) * dffTime;\n }\n this.scrollHandle?.(dx, dy);\n if (stopped) {\n this.runingId = null;\n return;\n }\n this.lastTime = now;\n this.speedX = newSpeedX;\n this.speedY = newSpeedY;\n\n this.runingId = vglobal.getRequestAnimationFrame()(this.inertia.bind(this));\n }\n endInertia() {\n vglobal.getCancelAnimationFrame()(this.runingId);\n this.runingId = null;\n }\n isInertiaScrolling() {\n return !!this.runingId;\n }\n}\n"]}
|
package/es/index.d.ts
CHANGED
|
@@ -23,7 +23,8 @@ export * from './render/jsx';
|
|
|
23
23
|
export { getTargetCell } from './event/util';
|
|
24
24
|
export { toBoxArray } from './tools/helper';
|
|
25
25
|
export { Icon } from './scenegraph/graphic/icon';
|
|
26
|
-
export
|
|
26
|
+
export { CUSTOM_MERGE_PRE_NAME, CUSTOM_CONTAINER_NAME } from './scenegraph/component/custom';
|
|
27
|
+
export declare const version = "1.22.3";
|
|
27
28
|
export { TYPES, core, ListTable, ListTableSimple, BaseTableAPI, ListTableConstructorOptions, PivotTable, PivotTableSimple, PivotTableConstructorOptions, PivotChartConstructorOptions, PivotChart, IHeaderTreeDefine, IDimension, IIndicator, ITitleDefine, ICornerDefine, ColumnsDefine, ColumnDefine, LinkColumnDefine, ChartColumnDefine, ImageColumnDefine, SparklineColumnDefine, ProgressbarColumnDefine, TextColumnDefine, GroupColumnDefine, TextAlignType, TextBaselineType, textMeasure, themes, data, MousePointerCellEvent, getIcons, clearGlobal, register, DataStatistics, CustomLayout, updateCell, renderChart, graphicUtil, setCustomAlphabetCharSet, restoreMeasureText, pluginsDefinition };
|
|
28
29
|
declare function getIcons(): {
|
|
29
30
|
[key: string]: TYPES.ColumnIconOption;
|
package/es/index.js
CHANGED
|
@@ -46,7 +46,9 @@ export { toBoxArray } from "./tools/helper";
|
|
|
46
46
|
|
|
47
47
|
export { Icon } from "./scenegraph/graphic/icon";
|
|
48
48
|
|
|
49
|
-
export
|
|
49
|
+
export { CUSTOM_MERGE_PRE_NAME, CUSTOM_CONTAINER_NAME } from "./scenegraph/component/custom";
|
|
50
|
+
|
|
51
|
+
export const version = "1.22.3";
|
|
50
52
|
|
|
51
53
|
export { TYPES, core, ListTable, ListTableSimple, PivotTable, PivotTableSimple, PivotChart, textMeasure, themes, data, getIcons, clearGlobal, register, DataStatistics, CustomLayout, updateCell, renderChart, graphicUtil, setCustomAlphabetCharSet, restoreMeasureText, pluginsDefinition };
|
|
52
54
|
|
package/es/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC5D,kBAAkB,EAAE,CAAC;AAErB,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;AAC3D,OAAO,KAAK,iBAAiB,MAAM,WAAW,CAAC;AAsB/C,OAAO,EAAE,YAAY,IAAI,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,aAAa,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,KAAK,YAAY,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,wDAAwD,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAM5G,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC5D,kBAAkB,EAAE,CAAC;AAErB,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;AAC3D,OAAO,KAAK,iBAAiB,MAAM,WAAW,CAAC;AAsB/C,OAAO,EAAE,YAAY,IAAI,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,aAAa,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,KAAK,YAAY,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,wDAAwD,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAM5G,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAK7F,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC;AAIhC,OAAO,EAKL,KAAK,EACL,IAAI,EACJ,SAAS,EACT,eAAe,EAGf,UAAU,EACV,gBAAgB,EAGhB,UAAU,EAiBV,WAAW,EACX,MAAM,EACN,IAAI,EAEJ,QAAQ,EACR,WAAW,EAEX,QAAQ,EAIR,cAAc,EACd,YAAY,EACZ,UAAU,EACV,WAAW,EACX,WAAW,EACX,wBAAwB,EACxB,kBAAkB,EAClB,iBAAiB,EAElB,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;AAEtB,cAAc,cAAc,CAAC;AAC7B,cAAc,sCAAsC,CAAC;AAErD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,+CAA+C,CAAC;AAE/G,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC","file":"index.js","sourcesContent":["/* eslint-disable sort-imports */\nimport { graphicUtil, registerForVrender } from './vrender';\nregisterForVrender();\n\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 * as pluginsDefinition from './plugins';\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 IIndicator,\n ITitleDefine,\n ICornerDefine,\n TextAlignType,\n TextBaselineType\n} from './ts-types';\nimport { ListTableAll as ListTable } from './ListTable-all';\nimport { ListTableSimple } from './ListTable-simple';\n// import { PivotTable } from './PivotTable';\nimport { PivotTableAll as PivotTable } from './PivotTable-all';\nimport { PivotTableSimple } from './PivotTable-simple';\nimport { PivotChart } from './PivotChart';\nimport type { MousePointerCellEvent } from './ts-types/events';\nimport * as CustomLayout from './render/layout';\n\nimport { updateCell } from './scenegraph/group-creater/cell-helper';\nimport { renderChart } from './scenegraph/graphic/contributions/chart-render-helper';\nimport { restoreMeasureText, setCustomAlphabetCharSet, textMeasure } from './scenegraph/utils/text-measure';\nimport type { BaseTableAPI } from './ts-types/base-table';\n\n// import { container, loadCanvasPicker } from '@src/vrender';\n// loadCanvasPicker(container);\n\nexport { getDataCellPath } from './tools/get-data-path';\nexport * from './render/jsx';\nexport { getTargetCell } from './event/util';\nexport { toBoxArray } from './tools/helper';\nexport { Icon } from './scenegraph/graphic/icon';\nexport { CUSTOM_MERGE_PRE_NAME, CUSTOM_CONTAINER_NAME } from './scenegraph/component/custom';\n\n// export * as VRender from './vrender';\n// import * as VRender from './vrender';\n\nexport const version = \"1.22.3\";\n/**\n * @namespace VTable\n */\nexport {\n /**\n * Types\n * @namespace VTable.TYPES\n */\n TYPES,\n core,\n ListTable,\n ListTableSimple,\n BaseTableAPI,\n ListTableConstructorOptions,\n PivotTable,\n PivotTableSimple,\n PivotTableConstructorOptions,\n PivotChartConstructorOptions,\n PivotChart,\n IHeaderTreeDefine,\n IDimension,\n IIndicator,\n ITitleDefine,\n ICornerDefine,\n ColumnsDefine,\n ColumnDefine,\n LinkColumnDefine,\n ChartColumnDefine,\n ImageColumnDefine,\n SparklineColumnDefine,\n ProgressbarColumnDefine,\n TextColumnDefine,\n GroupColumnDefine,\n TextAlignType,\n TextBaselineType,\n textMeasure,\n themes,\n data,\n MousePointerCellEvent,\n getIcons,\n clearGlobal,\n //plugin registers\n register,\n /**\n * 暂不推荐使用\n */\n DataStatistics,\n CustomLayout,\n updateCell,\n renderChart,\n graphicUtil,\n setCustomAlphabetCharSet,\n restoreMeasureText,\n pluginsDefinition\n // VRender // should use import {xxx} from '@visactor/vtable/es/vrender'\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\nexport * from './components';\nexport * from './scenegraph/group-creater/cell-type';\n\nexport { TABLE_EVENT_TYPE } from './core/TABLE_EVENT_TYPE';\nexport { PIVOT_CHART_EVENT_TYPE, PIVOT_TABLE_EVENT_TYPE } from './ts-types/pivot-table/PIVOT_TABLE_EVENT_TYPE';\n\nexport { EventTarget } from './event/EventTarget';\n"]}
|
|
@@ -45,9 +45,10 @@ export function getAxisConfigInPivotChart(col, row, layout) {
|
|
|
45
45
|
const axisRange = getRange("bottom", col, row - 1, col, row, col, row, 0, layout), {chartType: chartType} = getAxisOption(col, row - 1, "bottom", layout);
|
|
46
46
|
if (!axisRange) return;
|
|
47
47
|
const chartCellStyle = layout._table._getCellStyle(col, row - 1), padding = getQuadProps(getProp("padding", chartCellStyle, col, row - 1, layout._table)), {range: range, ticks: ticks, axisOption: axisOption, index: index, targetTicks: targetTicks, targetRange: targetRange, theme: theme} = axisRange;
|
|
48
|
-
isNumber(null == axisOption ? void 0 : axisOption.
|
|
49
|
-
range.
|
|
50
|
-
|
|
48
|
+
isNumber(null == axisOption ? void 0 : axisOption.max) ? (range.max = axisOption.max,
|
|
49
|
+
range.max < 0 && (axisOption.zero = !1)) : "boxPlot" === chartType && (range.max += (range.max - range.min) / 20),
|
|
50
|
+
isNumber(null == axisOption ? void 0 : axisOption.min) ? (range.min = axisOption.min,
|
|
51
|
+
range.min > 0 && (axisOption.zero = !1)) : "boxPlot" === chartType && (range.min -= (range.max - range.min) / 20);
|
|
51
52
|
let domain = [];
|
|
52
53
|
if ("heatmap" === chartType) {
|
|
53
54
|
const colDimensionKey = layout.getDimensionKeyInChartSpec(col, layout.rowCount - layout.bottomFrozenRowCount - 1, "xField"), data = null !== (_a = layout.dataset.collectedValues[colDimensionKey]) && void 0 !== _a ? _a : [], colPath = layout.getColKeysPath(col, row);
|
|
@@ -105,9 +106,10 @@ export function getAxisConfigInPivotChart(col, row, layout) {
|
|
|
105
106
|
const axisRange = getRange("left", col + 1, row, col, row, col, row, 0, layout), {chartType: chartType} = getAxisOption(col + 1, row, "left", layout);
|
|
106
107
|
if (!axisRange) return;
|
|
107
108
|
const chartCellStyle = layout._table._getCellStyle(col + 1, row), padding = getQuadProps(getProp("padding", chartCellStyle, col + 1, row, layout._table)), {range: range, ticks: ticks, axisOption: axisOption, index: index, targetTicks: targetTicks, targetRange: targetRange, theme: theme} = axisRange;
|
|
108
|
-
isNumber(null == axisOption ? void 0 : axisOption.
|
|
109
|
-
range.
|
|
110
|
-
|
|
109
|
+
isNumber(null == axisOption ? void 0 : axisOption.max) ? (range.max = axisOption.max,
|
|
110
|
+
range.max < 0 && (axisOption.zero = !1)) : "boxPlot" === chartType && (range.max += (range.max - range.min) / 20),
|
|
111
|
+
isNumber(null == axisOption ? void 0 : axisOption.min) ? (range.min = axisOption.min,
|
|
112
|
+
range.min > 0 && (axisOption.zero = !1)) : "boxPlot" === chartType && (range.min -= (range.max - range.min) / 20);
|
|
111
113
|
let domain = [];
|
|
112
114
|
if ("heatmap" === chartType) {
|
|
113
115
|
const rowDimensionKey = layout.getDimensionKeyInChartSpec(layout.rowHeaderLevelCount, row, "yField"), data = null !== (_g = layout.dataset.collectedValues[rowDimensionKey]) && void 0 !== _g ? _g : [], rowPath = layout.getRowKeysPath(col, row);
|
|
@@ -391,7 +393,7 @@ function getChartAxisRange(col, row, index, position, indicatorKeys, path, layou
|
|
|
391
393
|
}
|
|
392
394
|
|
|
393
395
|
export function getAxisRangeAndTicks(col, row, index, position, subAxisPosition, indicatorKeys, path, layout) {
|
|
394
|
-
const {range: range, isZeroAlign: isZeroAlign, isTickAlign: isTickAlign, axisOption: axisOption} = getChartAxisRange(col, row, index, position, indicatorKeys, path, layout), {targetRange: targetRange, targetTicks: targetTicks} = getTargetRangeAndTicks(col, row, index, isZeroAlign, isTickAlign, range, indicatorKeys, subAxisPosition, path, layout);
|
|
396
|
+
const {range: range, isZeroAlign: isZeroAlign, isTickAlign: isTickAlign, axisOption: axisOption, chartType: chartType} = getChartAxisRange(col, row, index, position, indicatorKeys, path, layout), {targetRange: targetRange, targetTicks: targetTicks} = getTargetRangeAndTicks(col, row, index, isZeroAlign, isTickAlign, range, indicatorKeys, subAxisPosition, path, layout);
|
|
395
397
|
if (0 !== index && targetTicks) {
|
|
396
398
|
const getAxisDomainRangeAndLabels = Factory.getFunction("getAxisDomainRangeAndLabels"), {range: newRange, ticks: newTicks} = getAxisDomainRangeAndLabels(range.min, range.max, merge({}, axisOption, {
|
|
397
399
|
nice: !0,
|
|
@@ -408,7 +410,8 @@ export function getAxisRangeAndTicks(col, row, index, position, subAxisPosition,
|
|
|
408
410
|
axisOption: axisOption,
|
|
409
411
|
range: range,
|
|
410
412
|
targetTicks: targetTicks,
|
|
411
|
-
targetRange: targetRange
|
|
413
|
+
targetRange: targetRange,
|
|
414
|
+
chartType: chartType
|
|
412
415
|
};
|
|
413
416
|
}
|
|
414
417
|
|