Merge pull request #1 from GeekQiaQia/feature/scale

fix: zoom in && zoom out
This commit is contained in:
yehuozhili
2021-07-29 14:09:42 +08:00
committed by GitHub
2 changed files with 14 additions and 12 deletions

View File

@@ -7,7 +7,7 @@
*/ */
import { AllHTMLAttributes, CSSProperties, PropsWithChildren, ReactNode, useRef } from 'react'; import { AllHTMLAttributes, CSSProperties, PropsWithChildren, ReactNode, useRef } from 'react';
import { wrapperEvent } from './event'; import { wrapperEvent } from './event';
import { onWheelEvent } from '../../core/scale'; import { onWheelEventIframe } from '../../core/scale';
import React from 'react'; import React from 'react';
import Ticker from './ticker'; import Ticker from './ticker';
import UserConfig from '../../config'; import UserConfig from '../../config';
@@ -45,7 +45,7 @@ function ContainerWrapper(props: PropsWithChildren<ContainerWrapperProps>) {
...style, ...style,
}} }}
{...wrapperEvent(ref, props.config)} {...wrapperEvent(ref, props.config)}
{...onWheelEvent(props.config)} {...onWheelEventIframe(props.config, scaleState)}
{...rest} {...rest}
> >
<div <div

View File

@@ -20,16 +20,17 @@ export const onWheelEvent = (config: UserConfig) => {
} }
if (e.deltaY > 0) { if (e.deltaY > 0) {
scaleCancelFn(); scaleCancelFn();
if (scale.value < scale.maxValue) { //往下滚缩小
scale.value = scale.value + 0.1; if (scale.value > scale.minValue) {
scale.value = scale.value - 0.1;
store.forceUpdate(); store.forceUpdate();
config.refreshIframe(); config.refreshIframe();
} }
} else { } else {
scaleCancelFn(); scaleCancelFn();
//往上滚缩小 //往上滚放大
if (scale.value > scale.minValue) { if (scale.value < scale.maxValue) {
scale.value = scale.value - 0.1; scale.value = scale.value + 0.1;
store.forceUpdate(); store.forceUpdate();
config.refreshIframe(); config.refreshIframe();
} }
@@ -80,8 +81,9 @@ export const onWheelEventIframe = (
} }
if (e.deltaY > 0) { if (e.deltaY > 0) {
scaleCancelFn(); scaleCancelFn();
if (scale.value < scale.maxValue) { //往下滚缩小
scale.value = scale.value + 0.1; if (scale.value > scale.minValue) {
scale.value = scale.value - 0.1;
config.sendParent({ config.sendParent({
type: 'update', type: 'update',
column: 'scale', column: 'scale',
@@ -90,9 +92,9 @@ export const onWheelEventIframe = (
} }
} else { } else {
scaleCancelFn(); scaleCancelFn();
//往上滚缩小 //往上滚放大
if (scale.value > scale.minValue) { if (scale.value < scale.maxValue) {
scale.value = scale.value - 0.1; scale.value = scale.value + 0.1;
config.sendParent({ config.sendParent({
type: 'update', type: 'update',
column: 'scale', column: 'scale',