Проблемы с перетаскиванием Fancytree - PullRequest
0 голосов
/ 04 января 2019

Я использую Fancytree с в целом хорошими результатами. Тем не менее, я нашел проблему с ДНА. Если предельное значение warnNonNodes равно true, тогда моя функция dragEnter никогда не вызывается. Есть строка кода, которая гласит «if (dndOpts.preventNonNodes &&! NodeData)». На практике noneData всегда неопределенна. Если warnNonNodes имеет значение true, тогда процедура dragEnter () никогда не вызывается? Что я тут не так делаю. Должен ли этот вопрос быть опубликован на GitHub?

Ниже приведен код, который работает. Вызывается процедура dragEnter.

    /* Provide some options and routines for drag-and-drop */
    dnd5: {
      /* Expand nodes after n milliseconds of hovering - default */
      autoExpandMS: 1500,      
      /* Absolute position offset for .fancytree-drop-marker - default */
      /* Relative to ..fancytree-title (icon/img near a node accepting drop) */
      dropMarkerOffsetX: -24,  
      /* Additional offset for drop-marker with hitMode = "before"/"after" - default*/
      dropMarkerInsertOffsetX: -16, 
      /* true: Drag multiple (i.e. selected) nodes - default is false*/
      multiSource: false,                
      /* Prevent dropping nodes from different Fancytrees - default is false */
      preventForeignNodes: true,   
      /* Prevent dropping items other than Fancytree nodes - default is false */
      preventNonNodes: false,       
      /* Prevent dropping nodes on own descendants - default */
      preventRecursiveMoves: true,  
      /* Prevent dropping nodes 'before self', etc. - default */
      preventVoidMoves: true,     
      /* Enable auto-scrolling while dragging - default */
      scroll: true,        
      /* Active top/bottom margin in pixel - default */
      scrollSensitivity: 20,        
      /* Pixels per event - default */
      scrollSpeed: 5,               
      /* Events (drag support) */
      dragStart: function (node, data) {
        console.log('dragStart');
        return true;
      },
      dragDrag: function (node, data) {
        console.log('dragDrag');
      }, 
      dragEnd: function (node, data) {
        console.log('dragEnd');
      },         
      /* Events (drop support) */
      dragEnter: function (node, data) {
        console.log('dragEnter');
        return true;
      },      
      dragOver: function (node, data) {
        console.log('dragOver');
      },     
      dragExpand: function (node, data) {
        console.log('dragExpand');
        return true;
      },      
      dragDrop: function (node, data) {
        console.log('dragDrop');
      },
      dragLeave: function (node, data) {
        console.log('dragLeave');
      }
    },

1 Ответ

0 голосов
/ 07 января 2019

Эта проблема возникла из-за ошибки, * * * * * исправленной здесь для выпуска 2.30.2

...