@flozy/editor 2.1.6 → 2.1.7

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,6 +1,6 @@
1
1
  import { useEffect, useRef, useState } from "react";
2
2
  import useDragDom from "../../../hooks/useDragDom";
3
- import { Button, IconButton, Popper } from "@mui/material";
3
+ import { IconButton, Popper } from "@mui/material";
4
4
  import Box from "@mui/material/Box";
5
5
  import ContinuousSlider from "./Slider";
6
6
  import frames from ".";
@@ -14,14 +14,16 @@ const ImageFrame = props => {
14
14
  frame,
15
15
  id,
16
16
  framePos,
17
- onChange
17
+ onChange,
18
+ readOnly
18
19
  } = props;
19
20
  const svgRef = useRef();
20
21
  const [dom, setDOM] = useState(null);
21
22
  const [anchorEl, setAnchorEl] = useState(null);
22
23
  const imageRef = useRef(null);
23
24
  const [event, delta, clear] = useDragDom({
24
- refDom: imageRef?.current
25
+ refDom: imageRef?.current,
26
+ readOnly
25
27
  });
26
28
  const {
27
29
  x,
@@ -48,12 +50,12 @@ const ImageFrame = props => {
48
50
  } = useEditorContext();
49
51
  const open = selectedPath === id && Boolean(anchorEl);
50
52
  useEffect(() => {
51
- if (imageRef?.current) {
53
+ if (imageRef?.current && !readOnly) {
52
54
  setDOM(dom);
53
55
  }
54
56
  }, [imageRef]);
55
57
  useEffect(() => {
56
- if (event === "end") {
58
+ if (event === "end" && !readOnly) {
57
59
  onChange({
58
60
  framePos: {
59
61
  x: calX,
@@ -65,26 +67,25 @@ const ImageFrame = props => {
65
67
  }
66
68
  }, [event]);
67
69
  const handleClick = () => {
68
- setSelectedPath(id);
69
- setAnchorEl(svgRef?.current);
70
+ if (!readOnly) {
71
+ setSelectedPath(id);
72
+ setAnchorEl(svgRef?.current);
73
+ }
70
74
  };
71
75
  const onClose = () => {
72
76
  setAnchorEl(null);
73
77
  };
74
78
  const onScaleChange = newVal => {
75
- onChange({
76
- framePos: {
77
- x: calX,
78
- y: calY,
79
- scale: newVal
80
- }
81
- });
82
- };
83
- const onImageRef = iRef => {
84
- console.log(iRef);
85
- // setImageRef(iRef);
79
+ if (!readOnly) {
80
+ onChange({
81
+ framePos: {
82
+ x: calX,
83
+ y: calY,
84
+ scale: newVal
85
+ }
86
+ });
87
+ }
86
88
  };
87
-
88
89
  const handleClose = () => {
89
90
  setAnchorEl(null);
90
91
  setSelectedPath(null);
@@ -93,7 +94,6 @@ const ImageFrame = props => {
93
94
  children: [/*#__PURE__*/_jsx(SVGFrame, {
94
95
  ref: svgRef,
95
96
  ...props,
96
- onImageRef: onImageRef,
97
97
  handleClick: handleClick,
98
98
  imagePos: {
99
99
  calX,
@@ -237,7 +237,8 @@ const Image = ({
237
237
  framePos: framePos,
238
238
  href: url,
239
239
  id: path.join(","),
240
- onChange: onPosChange
240
+ onChange: onPosChange,
241
+ readOnly: readOnly
241
242
  })
242
243
  }) : null, selected && !readOnly && /*#__PURE__*/_jsx(IconButton, {
243
244
  onPointerDown: onMouseDown,
@@ -5,7 +5,8 @@ const ePos = {
5
5
  };
6
6
  const useDragDom = props => {
7
7
  const {
8
- refDom
8
+ refDom,
9
+ readOnly
9
10
  } = props || {};
10
11
  const [event, setEvent] = useState("");
11
12
  const [delta, setDelta] = useState({
@@ -13,10 +14,12 @@ const useDragDom = props => {
13
14
  y: 0
14
15
  });
15
16
  useEffect(() => {
16
- addListener();
17
- return () => {
18
- removeListener();
19
- };
17
+ if (!readOnly) {
18
+ addListener();
19
+ return () => {
20
+ removeListener();
21
+ };
22
+ }
20
23
  }, [refDom]);
21
24
  const onMouseDown = e => {
22
25
  ePos.x = e.x;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flozy/editor",
3
- "version": "2.1.6",
3
+ "version": "2.1.7",
4
4
  "description": "An Editor for flozy app brain",
5
5
  "files": [
6
6
  "dist"