지표 선택 마우스 스크롤
This commit is contained in:
@@ -7619,6 +7619,7 @@ html.desktop-client .tmb-logo-version {
|
|||||||
width: min(320px, calc(100vw - 24px));
|
width: min(320px, calc(100vw - 24px));
|
||||||
max-height: min(420px, 60vh);
|
max-height: min(420px, 60vh);
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
|
overscroll-behavior: contain;
|
||||||
padding: 8px 10px;
|
padding: 8px 10px;
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
border: 1px solid color-mix(in srgb, #a78bfa 45%, transparent);
|
border: 1px solid color-mix(in srgb, #a78bfa 45%, transparent);
|
||||||
|
|||||||
@@ -93,6 +93,21 @@ export default function ConditionPresetPicker({
|
|||||||
};
|
};
|
||||||
}, [onClose]);
|
}, [onClose]);
|
||||||
|
|
||||||
|
/** 그래프 모드: 팝업 위 휠 스크롤이 React Flow 줌으로 전달되지 않도록 차단 */
|
||||||
|
useEffect(() => {
|
||||||
|
const el = popRef.current;
|
||||||
|
if (!el) return;
|
||||||
|
const onWheel = (e: WheelEvent) => {
|
||||||
|
e.stopPropagation();
|
||||||
|
};
|
||||||
|
el.addEventListener('wheel', onWheel, { capture: true, passive: true });
|
||||||
|
return () => el.removeEventListener('wheel', onWheel, { capture: true });
|
||||||
|
}, []);
|
||||||
|
|
||||||
|
const stopWheelBubble = (e: React.WheelEvent) => {
|
||||||
|
e.stopPropagation();
|
||||||
|
};
|
||||||
|
|
||||||
const handlePick = (preset: ConditionPreset) => {
|
const handlePick = (preset: ConditionPreset) => {
|
||||||
if (isCompoundConditionPreset(preset)) {
|
if (isCompoundConditionPreset(preset)) {
|
||||||
onReplaceNode(applyCompoundConditionPreset(nodeId, condition, preset, def));
|
onReplaceNode(applyCompoundConditionPreset(nodeId, condition, preset, def));
|
||||||
@@ -104,7 +119,7 @@ export default function ConditionPresetPicker({
|
|||||||
|
|
||||||
if (presets.length === 0) {
|
if (presets.length === 0) {
|
||||||
return (
|
return (
|
||||||
<div ref={popRef} className={popoverClassName} role="dialog" aria-label="조건 선택">
|
<div ref={popRef} className={popoverClassName} role="dialog" aria-label="조건 선택" onWheel={stopWheelBubble}>
|
||||||
<div className="se-cond-preset-head">
|
<div className="se-cond-preset-head">
|
||||||
<span>조건 선택</span>
|
<span>조건 선택</span>
|
||||||
<button type="button" className="se-flow-settings-close" onClick={onClose} aria-label="닫기">×</button>
|
<button type="button" className="se-flow-settings-close" onClick={onClose} aria-label="닫기">×</button>
|
||||||
@@ -115,7 +130,7 @@ export default function ConditionPresetPicker({
|
|||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div ref={popRef} className={popoverClassName} role="dialog" aria-label="조건 선택">
|
<div ref={popRef} className={popoverClassName} role="dialog" aria-label="조건 선택" onWheel={stopWheelBubble}>
|
||||||
<div className="se-cond-preset-head">
|
<div className="se-cond-preset-head">
|
||||||
<span>조건 선택</span>
|
<span>조건 선택</span>
|
||||||
<button type="button" className="se-flow-settings-close" onClick={onClose} aria-label="닫기">×</button>
|
<button type="button" className="se-flow-settings-close" onClick={onClose} aria-label="닫기">×</button>
|
||||||
|
|||||||
@@ -1262,6 +1262,7 @@
|
|||||||
width: min(320px, calc(100vw - 24px));
|
width: min(320px, calc(100vw - 24px));
|
||||||
max-height: min(420px, 60vh);
|
max-height: min(420px, 60vh);
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
|
overscroll-behavior: contain;
|
||||||
padding: 8px 10px;
|
padding: 8px 10px;
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
border: 1px solid color-mix(in srgb, #a78bfa 45%, transparent);
|
border: 1px solid color-mix(in srgb, #a78bfa 45%, transparent);
|
||||||
|
|||||||
Reference in New Issue
Block a user