@flozy/editor 5.2.7 → 5.2.9
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.
|
@@ -72,9 +72,9 @@ const Leaf = ({
|
|
|
72
72
|
children: children
|
|
73
73
|
});
|
|
74
74
|
};
|
|
75
|
-
const updateTopBanner = (content, setTopBanner) => {
|
|
75
|
+
const updateTopBanner = (content = [], setTopBanner) => {
|
|
76
76
|
setTopBanner(() => {
|
|
77
|
-
const firstNode = content[0];
|
|
77
|
+
const firstNode = content ? content[0] : {};
|
|
78
78
|
return firstNode?.type === "topbanner" ? firstNode : null;
|
|
79
79
|
});
|
|
80
80
|
};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Transforms, Node, Path } from "slate";
|
|
2
2
|
import { ReactEditor } from "slate-react";
|
|
3
|
+
import { handleNegativeInteger } from "../../../utils/helper";
|
|
3
4
|
export const ROW_HEIGHT = 50;
|
|
4
5
|
const MARGIN_OF = {
|
|
5
6
|
xs: 160,
|
|
@@ -75,7 +76,7 @@ const reRenderChildNodes = (editor, path) => {
|
|
|
75
76
|
console.log(err);
|
|
76
77
|
}
|
|
77
78
|
};
|
|
78
|
-
function isContainerElement(editor, moveTopath, props) {
|
|
79
|
+
function isContainerElement(editor, moveTopath, props, appenBp) {
|
|
79
80
|
try {
|
|
80
81
|
const {
|
|
81
82
|
path,
|
|
@@ -91,6 +92,7 @@ function isContainerElement(editor, moveTopath, props) {
|
|
|
91
92
|
parentNode = Node.get(editor, Path.parent(dragItemPath));
|
|
92
93
|
}
|
|
93
94
|
const moveToNode = Node.get(editor, moveTopath);
|
|
95
|
+
const leftOfMoveToNode = moveToNode[`left${appenBp}`];
|
|
94
96
|
if (moveToNode.type === "freegridBox") {
|
|
95
97
|
if (parentNode.type === "freegridBox") {
|
|
96
98
|
// same box
|
|
@@ -98,10 +100,10 @@ function isContainerElement(editor, moveTopath, props) {
|
|
|
98
100
|
return props.calX;
|
|
99
101
|
} else {
|
|
100
102
|
// for different box
|
|
101
|
-
return parseInt(props.x - window.innerWidth / 2 + MARGIN_OF[props.breakpoint] - props.diffX -
|
|
103
|
+
return parseInt(props.x - window.innerWidth / 2 + MARGIN_OF[props.breakpoint] - props.diffX - leftOfMoveToNode);
|
|
102
104
|
}
|
|
103
105
|
} else {
|
|
104
|
-
return props.calX -
|
|
106
|
+
return props.calX - leftOfMoveToNode;
|
|
105
107
|
}
|
|
106
108
|
} else if (moveToNode.type === "freegrid") {
|
|
107
109
|
if (parentNode.type === "freegridBox") {
|
|
@@ -133,14 +135,16 @@ export function onDropItem(props, parentClass) {
|
|
|
133
135
|
const from = parentPath.split("|").map(m => parseInt(m));
|
|
134
136
|
let newPath = [];
|
|
135
137
|
newPath = moveTo;
|
|
136
|
-
const
|
|
138
|
+
const appenBp = breakpoint === "lg" ? "" : `_${breakpoint}`;
|
|
139
|
+
const cCalx = handleNegativeInteger(isContainerElement(editor, moveTo, props, appenBp));
|
|
140
|
+
|
|
137
141
|
// const posX = parseInt(
|
|
138
142
|
// cx - window.innerWidth / 2 + MARGIN_OF[breakpoint] - diffX
|
|
139
143
|
// );
|
|
140
144
|
const toSectionNode = Node.get(editor, newPath);
|
|
141
145
|
const addToSectionDOM = ReactEditor.toDOMNode(editor, toSectionNode);
|
|
142
146
|
const rect = addToSectionDOM.getBoundingClientRect();
|
|
143
|
-
const y = endPosition.y - startPosition.diffY - rect.top;
|
|
147
|
+
const y = handleNegativeInteger(endPosition.y - startPosition.diffY - rect.top);
|
|
144
148
|
|
|
145
149
|
// Calculate grid position
|
|
146
150
|
const row = Math.floor(y / ROW_HEIGHT) + 1;
|
|
@@ -150,7 +154,6 @@ export function onDropItem(props, parentClass) {
|
|
|
150
154
|
|
|
151
155
|
// Update grid area
|
|
152
156
|
const gridArea = `${row} / 1 / ${row + 1} / 2`;
|
|
153
|
-
const appenBp = breakpoint === "lg" ? "" : `_${breakpoint}`;
|
|
154
157
|
Transforms.setNodes(editor, {
|
|
155
158
|
[`gridArea${appenBp}`]: gridArea,
|
|
156
159
|
[`left${appenBp}`]: cCalx,
|
|
@@ -683,4 +683,7 @@ export function getInitialValue(value = [], readOnly) {
|
|
|
683
683
|
}
|
|
684
684
|
export function getSelectedCls(defaultCls = "", selected, selectedClsName = "selected") {
|
|
685
685
|
return `${defaultCls} ${selected ? selectedClsName : ""}`;
|
|
686
|
+
}
|
|
687
|
+
export function handleNegativeInteger(val) {
|
|
688
|
+
return val < 0 ? 0 : val;
|
|
686
689
|
}
|