Quellcode durchsuchen

Merge branch 'main' of https://github.com/le5le-com/visualization-design

ananzhusen vor 1 Jahr
Ursprung
Commit
c9792e1a73
2 geänderte Dateien mit 17 neuen und 24 gelöschten Zeilen
  1. 17 12
      src/views/components/Graphics.vue
  2. 0 12
      src/views/components/View.vue

+ 17 - 12
src/views/components/Graphics.vue

@@ -75,14 +75,13 @@
               <div
                 class="graphic"
                 v-for="elem in item.list"
-                :draggable="elem.draggable !== false"
+                :draggable="true"
                 @dragstart="dragStart($event, elem)"
                 @drag="drag($event, elem)"
                 @dragend="dragEnd()"
                 @click.stop="dragStart($event, elem)"
                 @dblclick.stop="open(elem)"
                 @contextmenu="onContextMenu($event, item, elem)"
-                :title="elem.draggable === false ? '双击打开' : '拖拽到画布'"
               >
                 <t-image
                   v-if="elem.image"
@@ -113,13 +112,12 @@
           <div
             class="graphic"
             v-for="elem in subGroups"
-            :draggable="elem.draggable !== false"
+            :draggable="true"
             @dragstart="dragStart($event, elem)"
             @drag="drag($event, elem)"
             @dragend="dragEnd()"
             @click.stop="dragStart($event, elem)"
             @dblclick.stop="open(elem)"
-            :title="elem.draggable === false ? '双击打开' : '拖拽到画布'"
           >
             <t-image
               v-if="elem.image"
@@ -392,15 +390,17 @@ const getPrivateGroups = async () => {
 };
 
 const dragStart = async (event: DragEvent | MouseEvent, item: any) => {
-  if (
-    !item ||
-    item.draggable === false ||
-    (event instanceof DragEvent && !event.dataTransfer)
-  ) {
+  event.stopPropagation();
+
+  let data = null;
+
+  if (!item || (event instanceof DragEvent && !event.dataTransfer)) {
     return;
   }
-  let data = null;
-  if (item['3d']) {
+
+  if (!item.draggable) {
+    data = item;
+  } else if (item['3d']) {
     data = {
       name: 'iframe',
       width: 400,
@@ -454,7 +454,6 @@ const dragStart = async (event: DragEvent | MouseEvent, item: any) => {
     }
     meta2d.canvas.addCaches = data;
   }
-  event.stopPropagation();
 };
 
 const drag = (event: DragEvent, item: any) => {};
@@ -801,11 +800,17 @@ onMounted(() => {
   groupChange('场景');
   document.addEventListener('dragstart', dragstart, false);
   document.addEventListener('dragend', dragend, false);
+
+  setTimeout(() => {
+    meta2d.on('drop', open);
+  }, 2000);
 });
 
 onUnmounted(() => {
   document.removeEventListener('dragstart', dragstart);
   document.removeEventListener('dragend', dragend);
+
+  meta2d.off('drop', open);
 });
 </script>
 <style lang="postcss" scoped>

+ 0 - 12
src/views/components/View.vue

@@ -784,13 +784,9 @@ onMounted(() => {
   meta2d = new Meta2d('meta2d', meta2dOptions);
   registerBasicDiagram();
   open(true);
-  // @ts-ignore
   meta2d.on('active', active);
-  // @ts-ignore
   meta2d.on('inactive', inactive);
-  // @ts-ignore
   meta2d.on('scale', scaleListener);
-  // @ts-ignore
   meta2d.on('add', lineAdd);
   meta2d.on('opened', openedListener);
 
@@ -803,7 +799,6 @@ onMounted(() => {
 
   // 所有编辑栏所做修改
   meta2d.on('components-update-value', patchFlag);
-  // @ts-ignore
   meta2d.on('contextmenu', onContextmenu);
   meta2d.on('click', canvasClick);
 
@@ -875,16 +870,11 @@ onUnmounted(() => {
   clearInterval(timer);
   watcher();
   if (meta2d) {
-    // @ts-ignore
     meta2d.off('active', active);
-    // @ts-ignore
     meta2d.off('inactive', inactive);
-    // @ts-ignore
     meta2d.off('scale', scaleListener);
-    // @ts-ignore
     meta2d.off('add', lineAdd);
     meta2d.on('opened', openedListener);
-
     meta2d.off('undo', patchFlag);
     meta2d.off('redo', patchFlag);
     meta2d.off('add', patchFlag);
@@ -892,10 +882,8 @@ onUnmounted(() => {
     meta2d.off('rotatePens', patchFlag);
     meta2d.off('translatePens', patchFlag);
     meta2d.off('components-update-value', patchFlag);
-    // @ts-ignore
     meta2d.off('contextmenu', onContextmenu);
     meta2d.off('click', canvasClick);
-
     meta2d.destroy();
   }
 });