@@ -1158,7 +1158,7 @@ window.ComponentCascadeLine = class {
1158
1158
this . name = name ;
1159
1159
this . OPTIONS = Object . assign ( {
1160
1160
movable : true ,
1161
- exchange :true ,
1161
+ exchange :false ,
1162
1162
insert :true ,
1163
1163
update :true ,
1164
1164
delete :true
@@ -1716,8 +1716,17 @@ window.ComponentCascadeLine = class {
1716
1716
if ( el . getAttribute ( 'drag-zone' ) === 'true' ) {
1717
1717
if ( e . type === 'dragover' ) {
1718
1718
aim = el ;
1719
- el . click ( ) ;
1720
- el . style . setProperty ( 'background' , '#bb8f2c' ) ;
1719
+ if ( aim . classList . contains ( 'dlp-label-silence' ) ) aim . click ( ) ;
1720
+ if ( ! object . OPTIONS . exchange ) {
1721
+ let stack = parseInt ( aim . getAttribute ( 'data-stack' ) ) ;
1722
+ let index = parseInt ( aim . getAttribute ( 'data-k' ) ) ;
1723
+ let parents = object . dimensional_data [ stack ] [ index ] . parentNodes ;
1724
+ if ( Array . isArray ( parents ) && ( parents . indexOf ( parseInt ( D . getAttribute ( 'data-id' ) ) ) === - 1 ) ) {
1725
+ aim . style . setProperty ( 'background' , '#bb8f2c' ) ;
1726
+ }
1727
+ } else {
1728
+ aim . style . setProperty ( 'background' , '#bb8f2c' ) ;
1729
+ }
1721
1730
} else if ( e . type === 'dragleave' && aim instanceof HTMLElement ) {
1722
1731
aim . style . removeProperty ( 'background' ) ;
1723
1732
aim = null ;
@@ -1758,26 +1767,30 @@ window.ComponentCascadeLine = class {
1758
1767
}
1759
1768
1760
1769
nodeMigrateConfirm ( node , aim_node ) {
1761
- aim_node . style . removeProperty ( 'background' ) ;
1770
+ let event ;
1762
1771
let stack = parseInt ( aim_node . getAttribute ( 'data-stack' ) ) ;
1763
1772
let index = parseInt ( aim_node . getAttribute ( 'data-k' ) ) ;
1764
1773
let aim_node_data = this . dimensional_data [ stack ] [ index ] ;
1765
1774
stack = parseInt ( node . getAttribute ( 'data-stack' ) ) ;
1766
1775
index = parseInt ( node . getAttribute ( 'data-k' ) ) ;
1767
1776
let node_data = this . dimensional_data [ stack ] [ index ] ;
1777
+ if ( aim_node_data . parentNodes . indexOf ( node_data . key ) !== - 1 ) {
1778
+ event = 'exchange' ;
1779
+ } else {
1780
+ event = 'migrate' ;
1781
+ }
1782
+ if ( ! this . OPTIONS . exchange && event === 'exchange' ) return ;
1783
+ aim_node . style . removeProperty ( 'background' ) ;
1768
1784
this . dialog ( `<span class="dlp-text title" title="${ node_data . val } ">${ node_data . val } </span> 迁移` , 90 ) ;
1769
1785
let M = document . createElement ( 'div' ) ;
1770
1786
let object = this ;
1771
1787
M . className = 'dlp dlp-text dlp-label' ;
1772
1788
M . insertAdjacentHTML ( 'afterbegin' , `<span>${ node_data . val } </span><i class="right">${ _component . check_circle } </i>` ) ;
1773
1789
this . PLANE_BODY . insertAdjacentHTML ( 'afterbegin' , `<div class="dlp dlp-text dlp-label"><span>${ aim_node_data . val } </span></div>` ) ;
1774
- let event ;
1775
- if ( aim_node_data . parentNodes . indexOf ( node_data . key ) !== - 1 ) {
1790
+ if ( event === 'exchange' ) {
1776
1791
this . PLANE_BODY . insertAdjacentHTML ( 'beforeend' , `<div style="font-size: 20px!important;">⇵</div>` ) ;
1777
- event = 'exchange' ;
1778
1792
} else {
1779
1793
this . PLANE_BODY . insertAdjacentHTML ( 'beforeend' , `<div style="font-size: 18px!important;">↑</div>` ) ;
1780
- event = 'migrate' ;
1781
1794
}
1782
1795
/*M.addEventListener('click', (() => {
1783
1796
if (object.submit_block) return;
0 commit comments