Anychart 7.12.0 Gantt移动行事件不包括索引



我尝试使用此处包含的移动示例,并且不确定。我对E对象的最初探索无法找到项目索引属性。我想知道要移动的项目的旧索引和项目的新索引。

var tree = anychart.data.tree(getData(), anychart.enums.TreeFillingMethod.AS_TABLE);
    tree.listen(anychart.enums.EventType.TREE_ITEM_MOVE, function(e){
        chart.title.text("The "+e.itemIndex+" item was moved");
    });

在这里见我的小提琴:http://jsfiddle.net/ax2t5hvt/

需要一些技巧,保存索引:

  chart.listen(anychart.enums.EventType.ROW_MOUSE_DOWN, function(e) {
    var treeDataItem = e.item;
    absoluteSourceIndex = treeDataItem.meta('index');
  });

然后您像这样:

  treeData.listen(anychart.enums.EventType.TREE_ITEM_MOVE, function(e) {
    /*
        Event e contains the following useful fields:
      e.type - Event type
      e.item - Moved item.
      e.target - Target data item that becomes a parent of the moved item.
        If is null, the parent is tree itself and moved item becomes root.
      e.targetIndex - Index of moved item in target item 
        (or in roots of tree if e.target is null)  
      e.source - Source data item, where the item moved from.
      e.sourceIndex - Old index of the moved item of the previous parent.
    */
    var treeDataItem = e.item;
    alert('Old absolute index: ' + absoluteSourceIndex + 'n' +
        'New absolute index: ' + treeDataItem.meta('index') + 'n' +
        'Old index in old parent tree data item: ' + e.sourceIndex + 'n' +
        'New index in new parent tree data item: ' + e.targetIndex);
  });

这是一个有效的示例:https://jsfiddle.net/mhm7hbsb/1/

最新更新