mirror of
https://github.com/Tencent/tmagic-editor.git
synced 2025-04-29 13:46:42 +08:00
parent
d480a03369
commit
d8d9184f3f
@ -83,14 +83,13 @@ const appendComponent = ({ text, type, data = {} }: ComponentItem): void => {
|
|||||||
|
|
||||||
const dragstartHandler = ({ text, type, data = {} }: ComponentItem, e: DragEvent) => {
|
const dragstartHandler = ({ text, type, data = {} }: ComponentItem, e: DragEvent) => {
|
||||||
if (e.dataTransfer) {
|
if (e.dataTransfer) {
|
||||||
e.dataTransfer.effectAllowed = 'move';
|
|
||||||
e.dataTransfer.setData(
|
e.dataTransfer.setData(
|
||||||
'data',
|
'text/html',
|
||||||
serialize({
|
serialize({
|
||||||
name: text,
|
name: text,
|
||||||
type,
|
type,
|
||||||
...data,
|
...data,
|
||||||
}).replace(/"(\w+)":\s/g, '$1: '),
|
}),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -121,6 +120,6 @@ const dragHandler = (e: DragEvent) => {
|
|||||||
|
|
||||||
if (timeout || !stage.value) return;
|
if (timeout || !stage.value) return;
|
||||||
|
|
||||||
timeout = stage.value.getAddContainerHighlightClassNameTimeout(e);
|
timeout = stage.value.delayedMarkContainer(e);
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
@ -146,9 +146,8 @@ const contextmenuHandler = (e: MouseEvent) => {
|
|||||||
|
|
||||||
const dragoverHandler = (e: DragEvent) => {
|
const dragoverHandler = (e: DragEvent) => {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
if (e.dataTransfer) {
|
if (!e.dataTransfer) return;
|
||||||
e.dataTransfer.dropEffect = 'move';
|
e.dataTransfer.dropEffect = 'move';
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const dropHandler = async (e: DragEvent) => {
|
const dropHandler = async (e: DragEvent) => {
|
||||||
@ -164,7 +163,15 @@ const dropHandler = async (e: DragEvent) => {
|
|||||||
|
|
||||||
if (e.dataTransfer && parent && stageContainer.value && stage) {
|
if (e.dataTransfer && parent && stageContainer.value && stage) {
|
||||||
const parseDSL = getConfig('parseDSL');
|
const parseDSL = getConfig('parseDSL');
|
||||||
const config = parseDSL(`(${e.dataTransfer.getData('data')})`);
|
|
||||||
|
const data = e.dataTransfer.getData('text/html');
|
||||||
|
|
||||||
|
if (!data) return;
|
||||||
|
|
||||||
|
const config = parseDSL(`(${data})`);
|
||||||
|
|
||||||
|
if (!config) return;
|
||||||
|
|
||||||
const layout = await services?.editorService.getLayout(parent);
|
const layout = await services?.editorService.getLayout(parent);
|
||||||
|
|
||||||
const containerRect = stageContainer.value.getBoundingClientRect();
|
const containerRect = stageContainer.value.getBoundingClientRect();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user