@visactor/vrender-components 1.0.41-alpha.2 → 1.0.41
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/data-zoom/interaction.js +1 -1
- package/cjs/data-zoom/interaction.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/player/base-player.d.ts +1 -0
- package/cjs/player/base-player.js +3 -0
- package/cjs/player/base-player.js.map +1 -1
- package/cjs/slider/slider.js +1 -1
- package/cjs/slider/slider.js.map +1 -1
- package/dist/index.es.js +49 -12
- package/es/data-zoom/interaction.js +1 -1
- package/es/data-zoom/interaction.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/player/base-player.d.ts +1 -0
- package/es/player/base-player.js +3 -0
- package/es/player/base-player.js.map +1 -1
- package/es/slider/slider.js +1 -1
- package/es/slider/slider.js.map +1 -1
- package/package.json +6 -6
|
@@ -104,7 +104,7 @@ class DataZoomInteraction extends vutils_1.EventEmitter {
|
|
|
104
104
|
});
|
|
105
105
|
}
|
|
106
106
|
clearVGlobalEvents() {
|
|
107
|
-
("browser" === vrender_core_1.vglobal.env ? vrender_core_1.vglobal : this.stage).
|
|
107
|
+
("browser" === vrender_core_1.vglobal.env ? vrender_core_1.vglobal : this.stage).removeEventListener("touchmove", this._handleTouchMove, {
|
|
108
108
|
passive: !1
|
|
109
109
|
});
|
|
110
110
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/data-zoom/interaction.ts"],"names":[],"mappings":"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","file":"interaction.js","sourcesContent":["import { DataZoomActiveTag, IDataZoomInteractiveEvent, type DataZoomAttributes } from './type';\nimport { getEndTriggersOfDrag } from '../util/event';\nimport type { IPointLike, Dict, Matrix } from '@visactor/vutils';\nimport { vglobal } from '@visactor/vrender-core';\nimport type { FederatedPointerEvent, IGroup, IRect, ISymbol, IStage } from '@visactor/vrender-core';\nimport { clamp, debounce, EventEmitter, throttle } from '@visactor/vutils';\nconst delayMap = {\n debounce: debounce,\n throttle: throttle\n};\nexport interface InteractionAttributes {\n stage: IStage;\n attribute: Partial<Required<DataZoomAttributes>>;\n startHandlerMask?: IRect;\n endHandlerMask?: IRect;\n middleHandlerSymbol?: ISymbol;\n middleHandlerRect?: IRect;\n selectedBackground?: IRect;\n background?: IRect;\n previewGroup?: IGroup;\n selectedPreviewGroup?: IGroup;\n getLayoutAttrFromConfig?: any;\n getState: () => { start: number; end: number };\n setState: (state: { start: number; end: number }) => void;\n getGlobalTransMatrix: () => Matrix;\n}\nexport class DataZoomInteraction extends EventEmitter {\n /** 上层透传 */\n stage: IStage;\n attribute!: Partial<Required<DataZoomAttributes>>;\n private _getLayoutAttrFromConfig: any;\n private _getState: () => { start: number; end: number };\n private _setState: (state: { start: number; end: number }) => void;\n private _getGlobalTransMatrix: () => Matrix;\n\n /** 图元 */\n private _startHandlerMask: IRect | undefined;\n private _middleHandlerSymbol: ISymbol | undefined;\n private _middleHandlerRect: IRect | undefined;\n private _endHandlerMask: IRect | undefined;\n private _background: IRect | undefined;\n private _previewGroup: IGroup | undefined;\n private _selectedPreviewGroup: IGroup | undefined;\n private _selectedBackground: IRect | undefined;\n\n /** 交互 */\n private _activeTag!: DataZoomActiveTag;\n private _activeItem!: any;\n private _activeState = false;\n private _activeCache: {\n startPos: IPointLike;\n lastPos: IPointLike;\n } = {\n startPos: { x: 0, y: 0 },\n lastPos: { x: 0, y: 0 }\n };\n private _layoutCache: {\n attPos: 'x' | 'y';\n attSize: 'width' | 'height';\n size: number;\n } = {\n attPos: 'x',\n attSize: 'width',\n size: 0\n };\n private _spanCache: number;\n\n private _onHandlerPointerMove: (e: FederatedPointerEvent) => void;\n\n constructor(props: InteractionAttributes) {\n super();\n this._initAttrs(props);\n }\n\n setAttributes(props: InteractionAttributes): void {\n this._initAttrs(props);\n this._onHandlerPointerMove =\n (this.attribute?.delayTime ?? 0) === 0\n ? this._pointerMove\n : delayMap[this.attribute?.delayType ?? 'debounce'](this._pointerMove, this.attribute?.delayTime ?? 0);\n }\n\n private _initAttrs(props: InteractionAttributes) {\n this.stage = props.stage;\n this.attribute = props.attribute;\n this._startHandlerMask = props.startHandlerMask;\n this._endHandlerMask = props.endHandlerMask;\n this._middleHandlerSymbol = props.middleHandlerSymbol;\n this._middleHandlerRect = props.middleHandlerRect;\n this._selectedBackground = props.selectedBackground;\n this._background = props.background;\n this._previewGroup = props.previewGroup;\n this._selectedPreviewGroup = props.selectedPreviewGroup;\n this._getLayoutAttrFromConfig = props.getLayoutAttrFromConfig;\n this._getState = props.getState;\n this._setState = props.setState;\n\n const { width, height } = this._getLayoutAttrFromConfig();\n this._spanCache = this._getState().end - this._getState().start;\n const isHorizontal = this.attribute.orient === 'top' || this.attribute.orient === 'bottom';\n this._layoutCache.size = isHorizontal ? width : height;\n this._layoutCache.attPos = isHorizontal ? 'x' : 'y';\n this._layoutCache.attSize = isHorizontal ? 'width' : 'height';\n this._getGlobalTransMatrix = props.getGlobalTransMatrix;\n }\n\n clearDragEvents() {\n const evtTarget = vglobal.env === 'browser' ? vglobal : this.stage;\n const triggers = getEndTriggersOfDrag();\n\n evtTarget.removeEventListener('pointermove', this._onHandlerPointerMove, { capture: true });\n triggers.forEach((trigger: string) => {\n evtTarget.removeEventListener(trigger, this._onHandlerPointerUp);\n });\n\n (this as unknown as IGroup).off('pointermove', this._onHandlerPointerMove, {\n capture: true\n });\n }\n\n clearVGlobalEvents() {\n (vglobal.env === 'browser' ? vglobal : this.stage).addEventListener('touchmove', this._handleTouchMove, {\n passive: false\n });\n }\n\n bindEvents(): void {\n const { brushSelect } = this.attribute as DataZoomAttributes;\n // 拖拽开始\n this._startHandlerMask?.addEventListener(\n 'pointerdown',\n (e: FederatedPointerEvent) => this._onHandlerPointerDown(e, 'start') as unknown as EventListener\n );\n this._endHandlerMask?.addEventListener(\n 'pointerdown',\n (e: FederatedPointerEvent) => this._onHandlerPointerDown(e, 'end') as unknown as EventListener\n );\n this._middleHandlerSymbol?.addEventListener(\n 'pointerdown',\n (e: FederatedPointerEvent) => this._onHandlerPointerDown(e, 'middleSymbol') as unknown as EventListener\n );\n this._middleHandlerRect?.addEventListener(\n 'pointerdown',\n (e: FederatedPointerEvent) => this._onHandlerPointerDown(e, 'middleRect') as unknown as EventListener\n );\n const selectedTag = brushSelect ? 'background' : 'middleRect';\n this._selectedBackground?.addEventListener(\n 'pointerdown',\n (e: FederatedPointerEvent) => this._onHandlerPointerDown(e, selectedTag) as unknown as EventListener\n );\n brushSelect &&\n this._background?.addEventListener(\n 'pointerdown',\n (e: FederatedPointerEvent) => this._onHandlerPointerDown(e, 'background') as unknown as EventListener\n );\n brushSelect &&\n this._previewGroup?.addEventListener(\n 'pointerdown',\n (e: FederatedPointerEvent) => this._onHandlerPointerDown(e, 'background') as unknown as EventListener\n );\n this._selectedPreviewGroup?.addEventListener(\n 'pointerdown',\n (e: FederatedPointerEvent) => this._onHandlerPointerDown(e, selectedTag) as unknown as EventListener\n );\n\n (vglobal.env === 'browser' ? vglobal : this.stage).addEventListener('touchmove', this._handleTouchMove, {\n passive: false\n });\n }\n private _handleTouchMove = (e: TouchEvent) => {\n if (this._activeState) {\n /**\n * https://developer.mozilla.org/zh-CN/docs/Web/CSS/overscroll-behavior\n * 由于浏览器的overscroll-behavior属性,需要在move的时候阻止浏览器默认行为,否则会因为浏览器检测到scroll行为,阻止pointer事件,\n * 抛出pointercancel事件,导致拖拽行为中断。\n */\n e.preventDefault();\n }\n };\n\n /**\n * 拖拽开始事件\n * @description 开启activeState + 通过tag判断事件在哪个元素上触发 并 更新交互坐标\n */\n private _onHandlerPointerDown = (e: FederatedPointerEvent, tag: string) => {\n // 清除之前的事件,防止没有被清除掉\n this.clearDragEvents();\n if (tag === 'start') {\n this._activeTag = DataZoomActiveTag.startHandler;\n this._activeItem = this._startHandlerMask;\n } else if (tag === 'end') {\n this._activeTag = DataZoomActiveTag.endHandler;\n this._activeItem = this._endHandlerMask;\n } else if (tag === 'middleRect') {\n this._activeTag = DataZoomActiveTag.middleHandler;\n this._activeItem = this._middleHandlerRect;\n } else if (tag === 'middleSymbol') {\n this._activeTag = DataZoomActiveTag.middleHandler;\n this._activeItem = this._middleHandlerSymbol;\n } else if (tag === 'background') {\n this._activeTag = DataZoomActiveTag.background;\n this._activeItem = this._background;\n }\n this._activeState = true;\n this._activeCache.startPos = this._eventPosToStagePos(e);\n this._activeCache.lastPos = this._eventPosToStagePos(e);\n const evtTarget = vglobal.env === 'browser' ? vglobal : this.stage;\n const triggers = getEndTriggersOfDrag();\n\n /**\n * move的时候,需要通过 capture: true,能够在捕获截断被拦截,\n */\n evtTarget.addEventListener('pointermove', this._onHandlerPointerMove, { capture: true });\n (this as unknown as IGroup).on('pointermove', this._onHandlerPointerMove, {\n capture: true\n });\n\n triggers.forEach((trigger: string) => {\n evtTarget.addEventListener(trigger, this._onHandlerPointerUp);\n });\n };\n\n /**\n * 拖拽进行事件\n * @description 分为以下四种情况:\n * 1. 在背景 or 背景图表上拖拽 (activeTag === 'background'): 改变lastPos => only renderDragMask\n * 2. 在middleHandler上拖拽 (activeTag === 'middleHandler'): 改变lastPos、start & end + 边界处理: 防止拖拽结果超出背景 => render\n * 3. 在startHandler上拖拽 (activeTag === 'startHandler'): 改变lastPos、start & end + 边界处理: startHandler和endHandler交换 => render\n * 4. 在endHandler上拖拽,同上\n */\n private _pointerMove = (e: FederatedPointerEvent) => {\n const { brushSelect } = this.attribute as DataZoomAttributes;\n const { position } = this._getLayoutAttrFromConfig();\n const pos = this._eventPosToStagePos(e);\n\n const { attPos, size, attSize } = this._layoutCache;\n const dis = (pos[attPos] - this._activeCache.lastPos[attPos]) / size;\n const statePos = (pos[attPos] - position[attPos]) / this._getLayoutAttrFromConfig()[attSize];\n\n let { start, end } = this._getState();\n let shouldRender = true;\n if (this._activeState) {\n if (this._activeTag === DataZoomActiveTag.middleHandler) {\n ({ start, end } = this._moveZoomWithMiddle(dis));\n } else if (this._activeTag === DataZoomActiveTag.startHandler) {\n ({ start, end } = this._moveZoomWithHandler(statePos, 'start'));\n } else if (this._activeTag === DataZoomActiveTag.endHandler) {\n ({ start, end } = this._moveZoomWithHandler(statePos, 'end'));\n } else if (this._activeTag === DataZoomActiveTag.background && brushSelect) {\n ({ start, end } = this._moveZoomWithBackground(statePos));\n shouldRender = false;\n this._dispatchEvent(IDataZoomInteractiveEvent.maskUpdate);\n }\n this._activeCache.lastPos = pos;\n }\n\n // 避免attributes相同时, 重复渲染\n if (this._getState().start !== start || this._getState().end !== end) {\n this._setStateAttr(start, end);\n this._dispatchEvent(IDataZoomInteractiveEvent.stateUpdate, {\n start: this._getState().start,\n end: this._getState().end,\n shouldRender,\n tag: this._activeTag\n });\n if (this.attribute.realTime) {\n this._dispatchEvent(IDataZoomInteractiveEvent.dataZoomUpdate, {\n start: this._getState().start,\n end: this._getState().end,\n shouldRender: true,\n tag: this._activeTag\n });\n }\n }\n };\n\n /** state 边界处理 */\n private _setStateAttr(start: number, end: number) {\n const { zoomLock = false, minSpan = 0, maxSpan = 1 } = this.attribute as DataZoomAttributes;\n const span = end - start;\n if (span !== this._spanCache && (zoomLock || span < minSpan || span > maxSpan)) {\n return;\n }\n this._spanCache = span;\n this._setState({ start, end });\n }\n /**\n * @description 拖拽middleHandler, 改变start和end\n */\n private _moveZoomWithMiddle(dis: number) {\n const { start: staetState, end: endState } = this._getState();\n // 拖拽middleHandler时,限制在background范围内\n if (dis > 0 && endState + dis > 1) {\n dis = 1 - endState;\n } else if (dis < 0 && staetState + dis < 0) {\n dis = -staetState;\n }\n return {\n start: clamp(staetState + dis, 0, 1),\n end: clamp(endState + dis, 0, 1)\n };\n }\n\n /**\n * @description 拖拽startHandler/endHandler, 改变start和end\n */\n private _moveZoomWithHandler(statePos: number, handler: 'start' | 'end') {\n const { start, end } = this._getState();\n let newStart = start;\n let newEnd = end;\n if (handler === 'start') {\n if (statePos > end) {\n newStart = end;\n newEnd = statePos;\n this._activeTag = DataZoomActiveTag.endHandler;\n } else {\n newStart = statePos;\n }\n } else if (handler === 'end') {\n if (statePos < start) {\n newEnd = start;\n newStart = statePos;\n this._activeTag = DataZoomActiveTag.startHandler;\n } else {\n newEnd = statePos;\n }\n }\n return {\n start: clamp(newStart, 0, 1),\n end: clamp(newEnd, 0, 1)\n };\n }\n\n /**\n * @description 拖拽背景, 改变start和end\n */\n private _moveZoomWithBackground(statePos: number) {\n const { position } = this._getLayoutAttrFromConfig();\n const { attSize } = this._layoutCache;\n const startPos =\n (this._activeCache.startPos[this._layoutCache.attPos] - position[this._layoutCache.attPos]) /\n this._getLayoutAttrFromConfig()[attSize];\n const endPos = statePos;\n let start = clamp(startPos, 0, 1);\n let end = clamp(endPos, 0, 1);\n if (start > end) {\n [start, end] = [end, start];\n }\n return { start, end };\n }\n\n /**\n * 拖拽结束事件\n * @description 关闭activeState + 边界情况处理: 防止拖拽后start和end过近\n */\n private _onHandlerPointerUp = (e: FederatedPointerEvent) => {\n if (this._activeState) {\n // brush的时候, 只改变了state, 没有触发重新渲染, 在抬起鼠标时触发\n if (this._activeTag === DataZoomActiveTag.background) {\n this._setStateAttr(this._getState().start, this._getState().end);\n this._dispatchEvent(IDataZoomInteractiveEvent.stateUpdate, {\n start: this._getState().start,\n end: this._getState().end,\n shouldRender: true,\n tag: this._activeTag\n });\n }\n }\n this._activeState = false;\n // 此次dispatch不能被省略\n // 因为pointermove时, 已经将状态更新至最新, 所以在pointerup时, 必定start = state.start & end = state.end\n // 而realTime = false时, 需要依赖这次dispatch来更新图表图元\n this._dispatchEvent(IDataZoomInteractiveEvent.dataZoomUpdate, {\n start: this._getState().start,\n end: this._getState().end,\n shouldRender: true,\n tag: this._activeTag\n });\n\n this.clearDragEvents();\n };\n\n /** 事件系统坐标转换为stage坐标 */\n private _eventPosToStagePos(e: FederatedPointerEvent) {\n const result = { x: 0, y: 0 };\n // 1. 外部坐标 -> 内部坐标\n const stagePoints = this.stage?.eventPointTransform(e as any) ?? { x: 0, y: 0 }; // updateSpec过程中交互的话, stage可能为空\n // 2. 内部坐标 -> 组件坐标 (比如: 给layer设置 scale / x / y)\n this._getGlobalTransMatrix().transformPoint(stagePoints, result);\n return result;\n }\n\n protected _dispatchEvent(eventName: IDataZoomInteractiveEvent, details?: Dict<any>) {\n this.emit(eventName, details);\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/data-zoom/interaction.ts"],"names":[],"mappings":"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","file":"interaction.js","sourcesContent":["import { DataZoomActiveTag, IDataZoomInteractiveEvent, type DataZoomAttributes } from './type';\nimport { getEndTriggersOfDrag } from '../util/event';\nimport type { IPointLike, Dict, Matrix } from '@visactor/vutils';\nimport { vglobal } from '@visactor/vrender-core';\nimport type { FederatedPointerEvent, IGroup, IRect, ISymbol, IStage } from '@visactor/vrender-core';\nimport { clamp, debounce, EventEmitter, throttle } from '@visactor/vutils';\nconst delayMap = {\n debounce: debounce,\n throttle: throttle\n};\nexport interface InteractionAttributes {\n stage: IStage;\n attribute: Partial<Required<DataZoomAttributes>>;\n startHandlerMask?: IRect;\n endHandlerMask?: IRect;\n middleHandlerSymbol?: ISymbol;\n middleHandlerRect?: IRect;\n selectedBackground?: IRect;\n background?: IRect;\n previewGroup?: IGroup;\n selectedPreviewGroup?: IGroup;\n getLayoutAttrFromConfig?: any;\n getState: () => { start: number; end: number };\n setState: (state: { start: number; end: number }) => void;\n getGlobalTransMatrix: () => Matrix;\n}\nexport class DataZoomInteraction extends EventEmitter {\n /** 上层透传 */\n stage: IStage;\n attribute!: Partial<Required<DataZoomAttributes>>;\n private _getLayoutAttrFromConfig: any;\n private _getState: () => { start: number; end: number };\n private _setState: (state: { start: number; end: number }) => void;\n private _getGlobalTransMatrix: () => Matrix;\n\n /** 图元 */\n private _startHandlerMask: IRect | undefined;\n private _middleHandlerSymbol: ISymbol | undefined;\n private _middleHandlerRect: IRect | undefined;\n private _endHandlerMask: IRect | undefined;\n private _background: IRect | undefined;\n private _previewGroup: IGroup | undefined;\n private _selectedPreviewGroup: IGroup | undefined;\n private _selectedBackground: IRect | undefined;\n\n /** 交互 */\n private _activeTag!: DataZoomActiveTag;\n private _activeItem!: any;\n private _activeState = false;\n private _activeCache: {\n startPos: IPointLike;\n lastPos: IPointLike;\n } = {\n startPos: { x: 0, y: 0 },\n lastPos: { x: 0, y: 0 }\n };\n private _layoutCache: {\n attPos: 'x' | 'y';\n attSize: 'width' | 'height';\n size: number;\n } = {\n attPos: 'x',\n attSize: 'width',\n size: 0\n };\n private _spanCache: number;\n\n private _onHandlerPointerMove: (e: FederatedPointerEvent) => void;\n\n constructor(props: InteractionAttributes) {\n super();\n this._initAttrs(props);\n }\n\n setAttributes(props: InteractionAttributes): void {\n this._initAttrs(props);\n this._onHandlerPointerMove =\n (this.attribute?.delayTime ?? 0) === 0\n ? this._pointerMove\n : delayMap[this.attribute?.delayType ?? 'debounce'](this._pointerMove, this.attribute?.delayTime ?? 0);\n }\n\n private _initAttrs(props: InteractionAttributes) {\n this.stage = props.stage;\n this.attribute = props.attribute;\n this._startHandlerMask = props.startHandlerMask;\n this._endHandlerMask = props.endHandlerMask;\n this._middleHandlerSymbol = props.middleHandlerSymbol;\n this._middleHandlerRect = props.middleHandlerRect;\n this._selectedBackground = props.selectedBackground;\n this._background = props.background;\n this._previewGroup = props.previewGroup;\n this._selectedPreviewGroup = props.selectedPreviewGroup;\n this._getLayoutAttrFromConfig = props.getLayoutAttrFromConfig;\n this._getState = props.getState;\n this._setState = props.setState;\n\n const { width, height } = this._getLayoutAttrFromConfig();\n this._spanCache = this._getState().end - this._getState().start;\n const isHorizontal = this.attribute.orient === 'top' || this.attribute.orient === 'bottom';\n this._layoutCache.size = isHorizontal ? width : height;\n this._layoutCache.attPos = isHorizontal ? 'x' : 'y';\n this._layoutCache.attSize = isHorizontal ? 'width' : 'height';\n this._getGlobalTransMatrix = props.getGlobalTransMatrix;\n }\n\n clearDragEvents() {\n const evtTarget = vglobal.env === 'browser' ? vglobal : this.stage;\n const triggers = getEndTriggersOfDrag();\n\n evtTarget.removeEventListener('pointermove', this._onHandlerPointerMove, { capture: true });\n triggers.forEach((trigger: string) => {\n evtTarget.removeEventListener(trigger, this._onHandlerPointerUp);\n });\n\n (this as unknown as IGroup).off('pointermove', this._onHandlerPointerMove, {\n capture: true\n });\n }\n\n clearVGlobalEvents() {\n (vglobal.env === 'browser' ? vglobal : this.stage).removeEventListener('touchmove', this._handleTouchMove, {\n passive: false\n });\n }\n\n bindEvents(): void {\n const { brushSelect } = this.attribute as DataZoomAttributes;\n // 拖拽开始\n this._startHandlerMask?.addEventListener(\n 'pointerdown',\n (e: FederatedPointerEvent) => this._onHandlerPointerDown(e, 'start') as unknown as EventListener\n );\n this._endHandlerMask?.addEventListener(\n 'pointerdown',\n (e: FederatedPointerEvent) => this._onHandlerPointerDown(e, 'end') as unknown as EventListener\n );\n this._middleHandlerSymbol?.addEventListener(\n 'pointerdown',\n (e: FederatedPointerEvent) => this._onHandlerPointerDown(e, 'middleSymbol') as unknown as EventListener\n );\n this._middleHandlerRect?.addEventListener(\n 'pointerdown',\n (e: FederatedPointerEvent) => this._onHandlerPointerDown(e, 'middleRect') as unknown as EventListener\n );\n const selectedTag = brushSelect ? 'background' : 'middleRect';\n this._selectedBackground?.addEventListener(\n 'pointerdown',\n (e: FederatedPointerEvent) => this._onHandlerPointerDown(e, selectedTag) as unknown as EventListener\n );\n brushSelect &&\n this._background?.addEventListener(\n 'pointerdown',\n (e: FederatedPointerEvent) => this._onHandlerPointerDown(e, 'background') as unknown as EventListener\n );\n brushSelect &&\n this._previewGroup?.addEventListener(\n 'pointerdown',\n (e: FederatedPointerEvent) => this._onHandlerPointerDown(e, 'background') as unknown as EventListener\n );\n this._selectedPreviewGroup?.addEventListener(\n 'pointerdown',\n (e: FederatedPointerEvent) => this._onHandlerPointerDown(e, selectedTag) as unknown as EventListener\n );\n\n (vglobal.env === 'browser' ? vglobal : this.stage).addEventListener('touchmove', this._handleTouchMove, {\n passive: false\n });\n }\n private _handleTouchMove = (e: TouchEvent) => {\n if (this._activeState) {\n /**\n * https://developer.mozilla.org/zh-CN/docs/Web/CSS/overscroll-behavior\n * 由于浏览器的overscroll-behavior属性,需要在move的时候阻止浏览器默认行为,否则会因为浏览器检测到scroll行为,阻止pointer事件,\n * 抛出pointercancel事件,导致拖拽行为中断。\n */\n e.preventDefault();\n }\n };\n\n /**\n * 拖拽开始事件\n * @description 开启activeState + 通过tag判断事件在哪个元素上触发 并 更新交互坐标\n */\n private _onHandlerPointerDown = (e: FederatedPointerEvent, tag: string) => {\n // 清除之前的事件,防止没有被清除掉\n this.clearDragEvents();\n if (tag === 'start') {\n this._activeTag = DataZoomActiveTag.startHandler;\n this._activeItem = this._startHandlerMask;\n } else if (tag === 'end') {\n this._activeTag = DataZoomActiveTag.endHandler;\n this._activeItem = this._endHandlerMask;\n } else if (tag === 'middleRect') {\n this._activeTag = DataZoomActiveTag.middleHandler;\n this._activeItem = this._middleHandlerRect;\n } else if (tag === 'middleSymbol') {\n this._activeTag = DataZoomActiveTag.middleHandler;\n this._activeItem = this._middleHandlerSymbol;\n } else if (tag === 'background') {\n this._activeTag = DataZoomActiveTag.background;\n this._activeItem = this._background;\n }\n this._activeState = true;\n this._activeCache.startPos = this._eventPosToStagePos(e);\n this._activeCache.lastPos = this._eventPosToStagePos(e);\n const evtTarget = vglobal.env === 'browser' ? vglobal : this.stage;\n const triggers = getEndTriggersOfDrag();\n\n /**\n * move的时候,需要通过 capture: true,能够在捕获截断被拦截,\n */\n evtTarget.addEventListener('pointermove', this._onHandlerPointerMove, { capture: true });\n (this as unknown as IGroup).on('pointermove', this._onHandlerPointerMove, {\n capture: true\n });\n\n triggers.forEach((trigger: string) => {\n evtTarget.addEventListener(trigger, this._onHandlerPointerUp);\n });\n };\n\n /**\n * 拖拽进行事件\n * @description 分为以下四种情况:\n * 1. 在背景 or 背景图表上拖拽 (activeTag === 'background'): 改变lastPos => only renderDragMask\n * 2. 在middleHandler上拖拽 (activeTag === 'middleHandler'): 改变lastPos、start & end + 边界处理: 防止拖拽结果超出背景 => render\n * 3. 在startHandler上拖拽 (activeTag === 'startHandler'): 改变lastPos、start & end + 边界处理: startHandler和endHandler交换 => render\n * 4. 在endHandler上拖拽,同上\n */\n private _pointerMove = (e: FederatedPointerEvent) => {\n const { brushSelect } = this.attribute as DataZoomAttributes;\n const { position } = this._getLayoutAttrFromConfig();\n const pos = this._eventPosToStagePos(e);\n\n const { attPos, size, attSize } = this._layoutCache;\n const dis = (pos[attPos] - this._activeCache.lastPos[attPos]) / size;\n const statePos = (pos[attPos] - position[attPos]) / this._getLayoutAttrFromConfig()[attSize];\n\n let { start, end } = this._getState();\n let shouldRender = true;\n if (this._activeState) {\n if (this._activeTag === DataZoomActiveTag.middleHandler) {\n ({ start, end } = this._moveZoomWithMiddle(dis));\n } else if (this._activeTag === DataZoomActiveTag.startHandler) {\n ({ start, end } = this._moveZoomWithHandler(statePos, 'start'));\n } else if (this._activeTag === DataZoomActiveTag.endHandler) {\n ({ start, end } = this._moveZoomWithHandler(statePos, 'end'));\n } else if (this._activeTag === DataZoomActiveTag.background && brushSelect) {\n ({ start, end } = this._moveZoomWithBackground(statePos));\n shouldRender = false;\n this._dispatchEvent(IDataZoomInteractiveEvent.maskUpdate);\n }\n this._activeCache.lastPos = pos;\n }\n\n // 避免attributes相同时, 重复渲染\n if (this._getState().start !== start || this._getState().end !== end) {\n this._setStateAttr(start, end);\n this._dispatchEvent(IDataZoomInteractiveEvent.stateUpdate, {\n start: this._getState().start,\n end: this._getState().end,\n shouldRender,\n tag: this._activeTag\n });\n if (this.attribute.realTime) {\n this._dispatchEvent(IDataZoomInteractiveEvent.dataZoomUpdate, {\n start: this._getState().start,\n end: this._getState().end,\n shouldRender: true,\n tag: this._activeTag\n });\n }\n }\n };\n\n /** state 边界处理 */\n private _setStateAttr(start: number, end: number) {\n const { zoomLock = false, minSpan = 0, maxSpan = 1 } = this.attribute as DataZoomAttributes;\n const span = end - start;\n if (span !== this._spanCache && (zoomLock || span < minSpan || span > maxSpan)) {\n return;\n }\n this._spanCache = span;\n this._setState({ start, end });\n }\n /**\n * @description 拖拽middleHandler, 改变start和end\n */\n private _moveZoomWithMiddle(dis: number) {\n const { start: staetState, end: endState } = this._getState();\n // 拖拽middleHandler时,限制在background范围内\n if (dis > 0 && endState + dis > 1) {\n dis = 1 - endState;\n } else if (dis < 0 && staetState + dis < 0) {\n dis = -staetState;\n }\n return {\n start: clamp(staetState + dis, 0, 1),\n end: clamp(endState + dis, 0, 1)\n };\n }\n\n /**\n * @description 拖拽startHandler/endHandler, 改变start和end\n */\n private _moveZoomWithHandler(statePos: number, handler: 'start' | 'end') {\n const { start, end } = this._getState();\n let newStart = start;\n let newEnd = end;\n if (handler === 'start') {\n if (statePos > end) {\n newStart = end;\n newEnd = statePos;\n this._activeTag = DataZoomActiveTag.endHandler;\n } else {\n newStart = statePos;\n }\n } else if (handler === 'end') {\n if (statePos < start) {\n newEnd = start;\n newStart = statePos;\n this._activeTag = DataZoomActiveTag.startHandler;\n } else {\n newEnd = statePos;\n }\n }\n return {\n start: clamp(newStart, 0, 1),\n end: clamp(newEnd, 0, 1)\n };\n }\n\n /**\n * @description 拖拽背景, 改变start和end\n */\n private _moveZoomWithBackground(statePos: number) {\n const { position } = this._getLayoutAttrFromConfig();\n const { attSize } = this._layoutCache;\n const startPos =\n (this._activeCache.startPos[this._layoutCache.attPos] - position[this._layoutCache.attPos]) /\n this._getLayoutAttrFromConfig()[attSize];\n const endPos = statePos;\n let start = clamp(startPos, 0, 1);\n let end = clamp(endPos, 0, 1);\n if (start > end) {\n [start, end] = [end, start];\n }\n return { start, end };\n }\n\n /**\n * 拖拽结束事件\n * @description 关闭activeState + 边界情况处理: 防止拖拽后start和end过近\n */\n private _onHandlerPointerUp = (e: FederatedPointerEvent) => {\n if (this._activeState) {\n // brush的时候, 只改变了state, 没有触发重新渲染, 在抬起鼠标时触发\n if (this._activeTag === DataZoomActiveTag.background) {\n this._setStateAttr(this._getState().start, this._getState().end);\n this._dispatchEvent(IDataZoomInteractiveEvent.stateUpdate, {\n start: this._getState().start,\n end: this._getState().end,\n shouldRender: true,\n tag: this._activeTag\n });\n }\n }\n this._activeState = false;\n // 此次dispatch不能被省略\n // 因为pointermove时, 已经将状态更新至最新, 所以在pointerup时, 必定start = state.start & end = state.end\n // 而realTime = false时, 需要依赖这次dispatch来更新图表图元\n this._dispatchEvent(IDataZoomInteractiveEvent.dataZoomUpdate, {\n start: this._getState().start,\n end: this._getState().end,\n shouldRender: true,\n tag: this._activeTag\n });\n\n this.clearDragEvents();\n };\n\n /** 事件系统坐标转换为stage坐标 */\n private _eventPosToStagePos(e: FederatedPointerEvent) {\n const result = { x: 0, y: 0 };\n // 1. 外部坐标 -> 内部坐标\n const stagePoints = this.stage?.eventPointTransform(e as any) ?? { x: 0, y: 0 }; // updateSpec过程中交互的话, stage可能为空\n // 2. 内部坐标 -> 组件坐标 (比如: 给layer设置 scale / x / y)\n this._getGlobalTransMatrix().transformPoint(stagePoints, result);\n return result;\n }\n\n protected _dispatchEvent(eventName: IDataZoomInteractiveEvent, details?: Dict<any>) {\n this.emit(eventName, details);\n }\n}\n"]}
|
package/cjs/index.d.ts
CHANGED
package/cjs/index.js
CHANGED
|
@@ -17,7 +17,7 @@ var __createBinding = this && this.__createBinding || (Object.create ? function(
|
|
|
17
17
|
|
|
18
18
|
Object.defineProperty(exports, "__esModule", {
|
|
19
19
|
value: !0
|
|
20
|
-
}), exports.version = void 0, exports.version = "1.0.41
|
|
20
|
+
}), exports.version = void 0, exports.version = "1.0.41", __exportStar(require("./core/base"), exports),
|
|
21
21
|
__exportStar(require("./core/type"), exports), __exportStar(require("./scrollbar"), exports),
|
|
22
22
|
__exportStar(require("./tag"), exports), __exportStar(require("./poptip"), exports),
|
|
23
23
|
__exportStar(require("./crosshair"), exports), __exportStar(require("./label"), exports),
|
package/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACa,QAAA,OAAO,GAAG,
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACa,QAAA,OAAO,GAAG,QAAQ,CAAC;AAEhC,8CAA4B;AAC5B,8CAA4B;AAC5B,8CAA4B;AAC5B,wCAAsB;AACtB,2CAAyB;AACzB,8CAA4B;AAC5B,0CAAwB;AACxB,yCAAuB;AACvB,8CAA4B;AAC5B,4CAA0B;AAC1B,8CAA4B;AAC5B,2CAAyB;AACzB,0CAAwB;AACxB,2CAAyB;AACzB,0CAAwB;AACxB,8CAA4B;AAC5B,2CAAyB;AACzB,8CAA4B;AAC5B,2CAAyB;AACzB,0CAAwB;AACxB,4CAA0B;AAC1B,6CAA2B;AAC3B,8CAA4B;AAC5B,wCAAsB;AACtB,6CAA2B;AAC3B,0CAAwB;AACxB,8CAA4B;AAC5B,4CAA0B;AAC1B,yCAAuB;AACvB,2CAAyB;AACzB,+CAA6B;AAC7B,wDAAsC","file":"index.js","sourcesContent":["// 导出版本号\nexport const version = \"1.0.41\";\n\nexport * from './core/base';\nexport * from './core/type';\nexport * from './scrollbar';\nexport * from './tag';\nexport * from './poptip';\nexport * from './crosshair';\nexport * from './label';\nexport * from './axis';\nexport * from './axis/grid';\nexport * from './segment';\nexport * from './data-zoom';\nexport * from './marker';\nexport * from './pager';\nexport * from './legend';\nexport * from './title';\nexport * from './indicator';\nexport * from './slider';\nexport * from './link-path';\nexport * from './player';\nexport * from './brush';\nexport * from './tooltip';\nexport * from './timeline';\nexport * from './interface';\nexport * from './jsx';\nexport * from './checkbox';\nexport * from './radio';\nexport * from './empty-tip';\nexport * from './weather';\nexport * from './util';\nexport * from './switch';\nexport * from './label-item';\nexport * from './table-series-number';\n"]}
|
|
@@ -160,6 +160,9 @@ class BasePlayer extends base_1.AbstractComponent {
|
|
|
160
160
|
value: this._data[dataIndex]
|
|
161
161
|
});
|
|
162
162
|
}
|
|
163
|
+
release(all) {
|
|
164
|
+
this._sliderVisible || this._slider.release(all), super.release(all);
|
|
165
|
+
}
|
|
163
166
|
}
|
|
164
167
|
|
|
165
168
|
exports.BasePlayer = BasePlayer, BasePlayer.defaultAttributes = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/player/base-player.ts"],"names":[],"mappings":"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","file":"base-player.js","sourcesContent":["import type { INode } from '@visactor/vrender-core';\nimport { isNumber, isValidNumber, max, merge } from '@visactor/vutils';\nimport { AbstractComponent } from '../core/base';\nimport type { ComponentOptions, OrientType } from '../interface';\nimport type { SliderAttributes } from '../slider';\nimport { Slider } from '../slider';\nimport type { ControllerAttributes } from './controller';\nimport { Controller } from './controller';\nimport type {\n Datum,\n PlayerEventEnum,\n PlayerAttributes,\n RailStyleType,\n ControllerType,\n TrackStyleType,\n HandlerStyleType\n} from './type';\nimport { RailDefaultSize, defaultControllerAttributes } from './constant';\nimport { isHorizontal } from './utils';\n\n/**\n * 基本播放器组件\n * 提供最基本的布局能力,\n */\nexport abstract class BasePlayer<T> extends AbstractComponent<Required<PlayerAttributes>> {\n static defaultAttributes = {\n visible: true,\n data: [] as Datum[],\n interval: 1000,\n orient: 'bottom',\n align: 'center',\n size: {\n height: 20,\n width: 300\n },\n slider: {\n visible: true,\n space: 10,\n dx: 0,\n dy: 0,\n railStyle: {\n cornerRadius: 5\n },\n trackStyle: {},\n handlerStyle: {}\n },\n controller: {\n visible: true,\n start: { ...defaultControllerAttributes, key: 'start', position: 'start', space: 0 },\n pause: { ...defaultControllerAttributes, key: 'pause', position: 'start' },\n forward: { ...defaultControllerAttributes, key: 'forward', position: 'end' },\n backward: { ...defaultControllerAttributes, key: 'backward', position: 'start' }\n }\n };\n\n // 组件属性\n protected _slider: Slider;\n protected _controller: Controller;\n\n // 数据属性\n protected _data = [] as Datum[];\n protected _minIndex: number;\n getMinIndex() {\n return this._minIndex;\n }\n protected _maxIndex: number;\n getMaxIndex() {\n return this._maxIndex;\n }\n\n // 滑轨属性\n private _sliderVisible: boolean;\n private _railStyle: RailStyleType;\n private _trackStyle: TrackStyleType;\n private _handlerStyle: HandlerStyleType;\n\n // 控件属性\n private _controllerVisible: boolean;\n private _start: ControllerType;\n private _pause: ControllerType;\n private _forward: ControllerType;\n private _backward: ControllerType;\n\n // 布局属性\n private _size: { width: number; height: number };\n private _orient: OrientType;\n\n // dataIndex, 代表slider的value\n protected _dataIndex: number = 0;\n getDataIndex() {\n return this._dataIndex;\n }\n\n private _layoutInfo: {\n // 滚动条位置\n slider?: { x: number; y: number; size: number };\n\n // 控件位置\n start?: { x: number; y: number; size: number };\n pause?: { x: number; y: number; size: number };\n backward?: { x: number; y: number; size: number };\n forward?: { x: number; y: number; size: number };\n } = {};\n\n abstract play(): void;\n abstract pause(): void;\n abstract backward(): void;\n abstract forward(): void;\n\n constructor(attributes: T, options?: ComponentOptions) {\n super(options?.skipDefault ? attributes : merge({}, BasePlayer.defaultAttributes, attributes));\n // 先初始化属性, 再初始化Slider、Controller, 最后初始化事件.\n this._initAttributes();\n this._initDataIndex();\n this._initLayoutInfo();\n this._initController();\n this._initSlider();\n }\n\n /**\n * 初始化属性\n */\n _initAttributes() {\n // 基本布局属性\n this._size = this.attribute.size;\n this._orient = this.attribute.orient;\n\n // Slider范围, 起点一定要从0开始\n this._data = this.attribute.data;\n this._minIndex = 0;\n this._maxIndex = this._data.length - 1;\n\n const { slider = {}, controller = {} as PlayerAttributes['controller'] } = this.attribute;\n // 轨道样式\n this._sliderVisible = slider.visible;\n this._railStyle = { ...slider.railStyle };\n this._trackStyle = { ...slider.trackStyle };\n this._handlerStyle = { ...slider.handlerStyle };\n\n // 控制器样式\n this._controllerVisible = controller.visible;\n this._start = { ...controller.start };\n this._pause = { ...controller.pause };\n this._forward = { ...controller.forward };\n this._backward = { ...controller.backward };\n }\n\n /**\n * 初始化dataIndex\n */\n _initDataIndex() {\n this._dataIndex = this.attribute.dataIndex ?? 0;\n }\n\n private _initLayoutInfo() {\n // 控制器\n const controllers = [this._start, this._backward, this._forward].sort((a, b) => a.order - b.order);\n // 在开始位置的控制器\n const startControllers = controllers.filter(d => d.position !== 'end');\n // 在结束位置的控制器\n const endControllers = controllers.filter(d => d.position === 'end');\n // 滑轨横切面长度\n const railSectionLength =\n (isHorizontal(this._orient) ? this._railStyle.height : this._railStyle.width) ?? RailDefaultSize[1];\n\n // 1. 计算所有组件自身占据的宽度 or 高度\n const controllerPx = controllers.reduce((len, controller) => {\n const size = controller.style.size;\n const maxSize = isNumber(size) ? size : max(size[0], size[1]);\n return len + controller.space + maxSize;\n }, 0);\n\n // 2. 计算slider的总占据像素\n const sliderPx = this._sliderVisible\n ? (isHorizontal(this._orient) ? this._size?.width : this._size?.height) - controllerPx\n : 0;\n\n // 3. 计算slider滑轨的总占据像素\n const railPx = sliderPx - this.attribute.slider.space;\n\n // 4. 计算起点控件坐标\n const startPx = startControllers.reduce((px, controller) => {\n const {\n key,\n space,\n style: { size }\n } = controller;\n const maxSize = isNumber(size) ? size : max(size[0], size[1]);\n this._layoutInfo[key] = {\n ...this._layoutInfo[key],\n size: maxSize,\n x: isHorizontal(this._orient) ? px + space : (this._size.width - maxSize) / 2,\n y: isHorizontal(this._orient) ? (this._size.height - maxSize) / 2 : px + space\n };\n return px + space + maxSize;\n }, 0);\n\n // 5. 计算slider的起点坐标\n this._layoutInfo.slider = {\n ...this._layoutInfo.slider,\n size: railPx,\n x: isHorizontal(this._orient)\n ? startPx + this.attribute.slider.space\n : (this._size.width - railSectionLength) / 2,\n y: isHorizontal(this._orient)\n ? (this._size.height - railSectionLength) / 2\n : startPx + this.attribute.slider.space\n };\n\n // 6. 计算终点控件坐标\n endControllers.reduce((px, controller) => {\n const {\n key,\n space,\n style: { size }\n } = controller;\n const maxSize = isNumber(size) ? size : max(size[0], size[1]);\n this._layoutInfo[key] = {\n ...this._layoutInfo[key],\n size: maxSize,\n x: isHorizontal(this._orient) ? px + space : (this._size.width - maxSize) / 2,\n y: isHorizontal(this._orient) ? (this._size.height - maxSize) / 2 : px + space\n };\n return px + space + maxSize;\n }, startPx + sliderPx);\n }\n\n /**\n * 初始化滑动条\n */\n private _updateSliderAttrs = () => {\n let handlerSize;\n if (isValidNumber(this._handlerStyle.size)) {\n handlerSize = this._handlerStyle.size;\n } else if (this._handlerStyle.size && this._handlerStyle.size.length) {\n handlerSize = max(this._handlerStyle.size[0], this._handlerStyle.size[1]);\n }\n\n const attrs: SliderAttributes = {\n visible: this._sliderVisible,\n // 重要参数\n min: this._minIndex,\n max: this._maxIndex,\n value: this._dataIndex,\n railWidth: this._railStyle.width,\n railHeight: this._railStyle.height,\n railStyle: this._railStyle,\n trackStyle: this._trackStyle,\n handlerSize: isValidNumber(handlerSize) ? handlerSize : undefined,\n handlerStyle: this._handlerStyle,\n // 不重要, 但需要预设的参数\n dy: this.attribute.slider.dy,\n dx: this.attribute.slider.dx,\n slidable: true,\n range: false,\n handlerText: { visible: false },\n startText: { visible: false },\n endText: { visible: false },\n disableTriggerEvent: this.attribute.disableTriggerEvent\n };\n\n // 横向布局\n if (isHorizontal(this._orient)) {\n // 滑动条水平居中\n const railWidth = Math.max(0, this._layoutInfo.slider.size);\n const railHeight = this._railStyle.height ?? RailDefaultSize[1];\n\n // 属性修改\n attrs.layout = 'horizontal';\n attrs.railHeight = railHeight;\n attrs.railWidth = railWidth;\n attrs.x = this._layoutInfo.slider.x;\n attrs.y = this._layoutInfo.slider.y;\n }\n // 纵向布局\n else {\n // 滑动条垂直居中\n const railHeight = Math.max(0, this._layoutInfo.slider.size);\n const railWidth = this._railStyle.width ?? RailDefaultSize[1];\n\n // 属性修改\n attrs.layout = 'vertical';\n attrs.railWidth = railWidth;\n attrs.railHeight = railHeight;\n attrs.x = this._layoutInfo.slider.x;\n attrs.y = this._layoutInfo.slider.y;\n }\n return attrs;\n };\n\n private _initSlider = () => {\n const attrs = this._updateSliderAttrs();\n this._slider = new Slider(attrs);\n if (this._sliderVisible) {\n this.add(this._slider as unknown as INode);\n }\n };\n\n /**\n * 初始化控制器\n */\n private _updateControllerAttrs = () => {\n const attrs: ControllerAttributes = {\n start: this._start,\n pause: this._pause,\n forward: this._forward,\n backward: this._backward,\n disableTriggerEvent: this.attribute.disableTriggerEvent\n };\n // 横向布局\n attrs.layout = isHorizontal(this._orient) ? 'horizontal' : 'vertical';\n attrs.start = {\n ...attrs.start,\n style: {\n ...attrs.start.style,\n x: this._layoutInfo.start.x,\n y: this._layoutInfo.start.y\n }\n };\n attrs.pause = {\n ...attrs.pause,\n // 暂停按钮, 复用开始按钮的布局\n style: {\n ...attrs.pause.style,\n x: this._layoutInfo.start.x,\n y: this._layoutInfo.start.y\n }\n };\n attrs.backward = {\n ...attrs.backward,\n style: {\n ...attrs.backward.style,\n x: this._layoutInfo.backward.x,\n y: this._layoutInfo.backward.y\n }\n };\n attrs.forward = {\n ...attrs.forward,\n style: {\n ...attrs.forward.style,\n x: this._layoutInfo.forward.x,\n y: this._layoutInfo.forward.y\n }\n };\n return attrs;\n };\n\n private _initController = () => {\n const attrs = this._updateControllerAttrs();\n this._controller = new Controller(attrs);\n if (this._controllerVisible) {\n this.add(this._controller as unknown as INode);\n }\n };\n\n /**\n * 渲染\n */\n render() {\n this._initLayoutInfo();\n this.renderSlider();\n this.renderController();\n }\n\n /**\n * 更新滑动条\n */\n renderSlider() {\n const attrs = this._updateSliderAttrs();\n this._slider.setAttributes(attrs);\n }\n\n /**\n * 更新控制器\n */\n renderController() {\n const attrs = this._updateControllerAttrs();\n this._controller.setAttributes(attrs);\n }\n\n /**\n * 触发事件\n * @param eventType 事件类型\n * @param dataIndex 数据下标\n */\n dispatchCustomEvent(eventType: PlayerEventEnum, dataIndex: number) {\n this._dispatchEvent(eventType, {\n eventType,\n index: dataIndex,\n value: this._data[dataIndex]\n });\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/player/base-player.ts"],"names":[],"mappings":"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","file":"base-player.js","sourcesContent":["import type { INode } from '@visactor/vrender-core';\nimport { isNumber, isValidNumber, max, merge } from '@visactor/vutils';\nimport { AbstractComponent } from '../core/base';\nimport type { ComponentOptions, OrientType } from '../interface';\nimport type { SliderAttributes } from '../slider';\nimport { Slider } from '../slider';\nimport type { ControllerAttributes } from './controller';\nimport { Controller } from './controller';\nimport type {\n Datum,\n PlayerEventEnum,\n PlayerAttributes,\n RailStyleType,\n ControllerType,\n TrackStyleType,\n HandlerStyleType\n} from './type';\nimport { RailDefaultSize, defaultControllerAttributes } from './constant';\nimport { isHorizontal } from './utils';\n\n/**\n * 基本播放器组件\n * 提供最基本的布局能力,\n */\nexport abstract class BasePlayer<T> extends AbstractComponent<Required<PlayerAttributes>> {\n static defaultAttributes = {\n visible: true,\n data: [] as Datum[],\n interval: 1000,\n orient: 'bottom',\n align: 'center',\n size: {\n height: 20,\n width: 300\n },\n slider: {\n visible: true,\n space: 10,\n dx: 0,\n dy: 0,\n railStyle: {\n cornerRadius: 5\n },\n trackStyle: {},\n handlerStyle: {}\n },\n controller: {\n visible: true,\n start: { ...defaultControllerAttributes, key: 'start', position: 'start', space: 0 },\n pause: { ...defaultControllerAttributes, key: 'pause', position: 'start' },\n forward: { ...defaultControllerAttributes, key: 'forward', position: 'end' },\n backward: { ...defaultControllerAttributes, key: 'backward', position: 'start' }\n }\n };\n\n // 组件属性\n protected _slider: Slider;\n protected _controller: Controller;\n\n // 数据属性\n protected _data = [] as Datum[];\n protected _minIndex: number;\n getMinIndex() {\n return this._minIndex;\n }\n protected _maxIndex: number;\n getMaxIndex() {\n return this._maxIndex;\n }\n\n // 滑轨属性\n private _sliderVisible: boolean;\n private _railStyle: RailStyleType;\n private _trackStyle: TrackStyleType;\n private _handlerStyle: HandlerStyleType;\n\n // 控件属性\n private _controllerVisible: boolean;\n private _start: ControllerType;\n private _pause: ControllerType;\n private _forward: ControllerType;\n private _backward: ControllerType;\n\n // 布局属性\n private _size: { width: number; height: number };\n private _orient: OrientType;\n\n // dataIndex, 代表slider的value\n protected _dataIndex: number = 0;\n getDataIndex() {\n return this._dataIndex;\n }\n\n private _layoutInfo: {\n // 滚动条位置\n slider?: { x: number; y: number; size: number };\n\n // 控件位置\n start?: { x: number; y: number; size: number };\n pause?: { x: number; y: number; size: number };\n backward?: { x: number; y: number; size: number };\n forward?: { x: number; y: number; size: number };\n } = {};\n\n abstract play(): void;\n abstract pause(): void;\n abstract backward(): void;\n abstract forward(): void;\n\n constructor(attributes: T, options?: ComponentOptions) {\n super(options?.skipDefault ? attributes : merge({}, BasePlayer.defaultAttributes, attributes));\n // 先初始化属性, 再初始化Slider、Controller, 最后初始化事件.\n this._initAttributes();\n this._initDataIndex();\n this._initLayoutInfo();\n this._initController();\n this._initSlider();\n }\n\n /**\n * 初始化属性\n */\n _initAttributes() {\n // 基本布局属性\n this._size = this.attribute.size;\n this._orient = this.attribute.orient;\n\n // Slider范围, 起点一定要从0开始\n this._data = this.attribute.data;\n this._minIndex = 0;\n this._maxIndex = this._data.length - 1;\n\n const { slider = {}, controller = {} as PlayerAttributes['controller'] } = this.attribute;\n // 轨道样式\n this._sliderVisible = slider.visible;\n this._railStyle = { ...slider.railStyle };\n this._trackStyle = { ...slider.trackStyle };\n this._handlerStyle = { ...slider.handlerStyle };\n\n // 控制器样式\n this._controllerVisible = controller.visible;\n this._start = { ...controller.start };\n this._pause = { ...controller.pause };\n this._forward = { ...controller.forward };\n this._backward = { ...controller.backward };\n }\n\n /**\n * 初始化dataIndex\n */\n _initDataIndex() {\n this._dataIndex = this.attribute.dataIndex ?? 0;\n }\n\n private _initLayoutInfo() {\n // 控制器\n const controllers = [this._start, this._backward, this._forward].sort((a, b) => a.order - b.order);\n // 在开始位置的控制器\n const startControllers = controllers.filter(d => d.position !== 'end');\n // 在结束位置的控制器\n const endControllers = controllers.filter(d => d.position === 'end');\n // 滑轨横切面长度\n const railSectionLength =\n (isHorizontal(this._orient) ? this._railStyle.height : this._railStyle.width) ?? RailDefaultSize[1];\n\n // 1. 计算所有组件自身占据的宽度 or 高度\n const controllerPx = controllers.reduce((len, controller) => {\n const size = controller.style.size;\n const maxSize = isNumber(size) ? size : max(size[0], size[1]);\n return len + controller.space + maxSize;\n }, 0);\n\n // 2. 计算slider的总占据像素\n const sliderPx = this._sliderVisible\n ? (isHorizontal(this._orient) ? this._size?.width : this._size?.height) - controllerPx\n : 0;\n\n // 3. 计算slider滑轨的总占据像素\n const railPx = sliderPx - this.attribute.slider.space;\n\n // 4. 计算起点控件坐标\n const startPx = startControllers.reduce((px, controller) => {\n const {\n key,\n space,\n style: { size }\n } = controller;\n const maxSize = isNumber(size) ? size : max(size[0], size[1]);\n this._layoutInfo[key] = {\n ...this._layoutInfo[key],\n size: maxSize,\n x: isHorizontal(this._orient) ? px + space : (this._size.width - maxSize) / 2,\n y: isHorizontal(this._orient) ? (this._size.height - maxSize) / 2 : px + space\n };\n return px + space + maxSize;\n }, 0);\n\n // 5. 计算slider的起点坐标\n this._layoutInfo.slider = {\n ...this._layoutInfo.slider,\n size: railPx,\n x: isHorizontal(this._orient)\n ? startPx + this.attribute.slider.space\n : (this._size.width - railSectionLength) / 2,\n y: isHorizontal(this._orient)\n ? (this._size.height - railSectionLength) / 2\n : startPx + this.attribute.slider.space\n };\n\n // 6. 计算终点控件坐标\n endControllers.reduce((px, controller) => {\n const {\n key,\n space,\n style: { size }\n } = controller;\n const maxSize = isNumber(size) ? size : max(size[0], size[1]);\n this._layoutInfo[key] = {\n ...this._layoutInfo[key],\n size: maxSize,\n x: isHorizontal(this._orient) ? px + space : (this._size.width - maxSize) / 2,\n y: isHorizontal(this._orient) ? (this._size.height - maxSize) / 2 : px + space\n };\n return px + space + maxSize;\n }, startPx + sliderPx);\n }\n\n /**\n * 初始化滑动条\n */\n private _updateSliderAttrs = () => {\n let handlerSize;\n if (isValidNumber(this._handlerStyle.size)) {\n handlerSize = this._handlerStyle.size;\n } else if (this._handlerStyle.size && this._handlerStyle.size.length) {\n handlerSize = max(this._handlerStyle.size[0], this._handlerStyle.size[1]);\n }\n\n const attrs: SliderAttributes = {\n visible: this._sliderVisible,\n // 重要参数\n min: this._minIndex,\n max: this._maxIndex,\n value: this._dataIndex,\n railWidth: this._railStyle.width,\n railHeight: this._railStyle.height,\n railStyle: this._railStyle,\n trackStyle: this._trackStyle,\n handlerSize: isValidNumber(handlerSize) ? handlerSize : undefined,\n handlerStyle: this._handlerStyle,\n // 不重要, 但需要预设的参数\n dy: this.attribute.slider.dy,\n dx: this.attribute.slider.dx,\n slidable: true,\n range: false,\n handlerText: { visible: false },\n startText: { visible: false },\n endText: { visible: false },\n disableTriggerEvent: this.attribute.disableTriggerEvent\n };\n\n // 横向布局\n if (isHorizontal(this._orient)) {\n // 滑动条水平居中\n const railWidth = Math.max(0, this._layoutInfo.slider.size);\n const railHeight = this._railStyle.height ?? RailDefaultSize[1];\n\n // 属性修改\n attrs.layout = 'horizontal';\n attrs.railHeight = railHeight;\n attrs.railWidth = railWidth;\n attrs.x = this._layoutInfo.slider.x;\n attrs.y = this._layoutInfo.slider.y;\n }\n // 纵向布局\n else {\n // 滑动条垂直居中\n const railHeight = Math.max(0, this._layoutInfo.slider.size);\n const railWidth = this._railStyle.width ?? RailDefaultSize[1];\n\n // 属性修改\n attrs.layout = 'vertical';\n attrs.railWidth = railWidth;\n attrs.railHeight = railHeight;\n attrs.x = this._layoutInfo.slider.x;\n attrs.y = this._layoutInfo.slider.y;\n }\n return attrs;\n };\n\n private _initSlider = () => {\n const attrs = this._updateSliderAttrs();\n this._slider = new Slider(attrs);\n if (this._sliderVisible) {\n this.add(this._slider as unknown as INode);\n }\n };\n\n /**\n * 初始化控制器\n */\n private _updateControllerAttrs = () => {\n const attrs: ControllerAttributes = {\n start: this._start,\n pause: this._pause,\n forward: this._forward,\n backward: this._backward,\n disableTriggerEvent: this.attribute.disableTriggerEvent\n };\n // 横向布局\n attrs.layout = isHorizontal(this._orient) ? 'horizontal' : 'vertical';\n attrs.start = {\n ...attrs.start,\n style: {\n ...attrs.start.style,\n x: this._layoutInfo.start.x,\n y: this._layoutInfo.start.y\n }\n };\n attrs.pause = {\n ...attrs.pause,\n // 暂停按钮, 复用开始按钮的布局\n style: {\n ...attrs.pause.style,\n x: this._layoutInfo.start.x,\n y: this._layoutInfo.start.y\n }\n };\n attrs.backward = {\n ...attrs.backward,\n style: {\n ...attrs.backward.style,\n x: this._layoutInfo.backward.x,\n y: this._layoutInfo.backward.y\n }\n };\n attrs.forward = {\n ...attrs.forward,\n style: {\n ...attrs.forward.style,\n x: this._layoutInfo.forward.x,\n y: this._layoutInfo.forward.y\n }\n };\n return attrs;\n };\n\n private _initController = () => {\n const attrs = this._updateControllerAttrs();\n this._controller = new Controller(attrs);\n if (this._controllerVisible) {\n this.add(this._controller as unknown as INode);\n }\n };\n\n /**\n * 渲染\n */\n render() {\n this._initLayoutInfo();\n this.renderSlider();\n this.renderController();\n }\n\n /**\n * 更新滑动条\n */\n renderSlider() {\n const attrs = this._updateSliderAttrs();\n this._slider.setAttributes(attrs);\n }\n\n /**\n * 更新控制器\n */\n renderController() {\n const attrs = this._updateControllerAttrs();\n this._controller.setAttributes(attrs);\n }\n\n /**\n * 触发事件\n * @param eventType 事件类型\n * @param dataIndex 数据下标\n */\n dispatchCustomEvent(eventType: PlayerEventEnum, dataIndex: number) {\n this._dispatchEvent(eventType, {\n eventType,\n index: dataIndex,\n value: this._data[dataIndex]\n });\n }\n\n release(all: boolean) {\n if (!this._sliderVisible) {\n this._slider.release(all);\n }\n super.release(all);\n }\n}\n"]}
|
package/cjs/slider/slider.js
CHANGED
|
@@ -472,7 +472,7 @@ class Slider extends base_1.AbstractComponent {
|
|
|
472
472
|
};
|
|
473
473
|
}
|
|
474
474
|
release(all) {
|
|
475
|
-
super.release(all), ("browser" === vrender_core_1.vglobal.env ? vrender_core_1.vglobal : this.stage).
|
|
475
|
+
super.release(all), ("browser" === vrender_core_1.vglobal.env ? vrender_core_1.vglobal : this.stage).removeEventListener("touchmove", this._handleTouchMove, {
|
|
476
476
|
passive: !1
|
|
477
477
|
}), this._clearAllDragEvents();
|
|
478
478
|
}
|