Как прокрутить вверх в zTree, чтобы выбранный узел находился в верхней части дерева? - PullRequest
0 голосов
/ 31 августа 2018

Я работаю с плагином zTree jQuery для создания дерева иерархии папок. Когда я создаю новую папку в дереве, я бы хотел, чтобы дерево прокручивалось вверх, чтобы родительская папка находилась вверху. Таким образом, легко увидеть всех дочерних элементов родительского элемента, поскольку родительская папка находится как можно выше.

Вам известен способ прокрутки вверх в zTree, чтобы выбранная папка находилась вверху?


Обновление:

Вот jsfiddle, демонстрирующий zTree. Вы можете добавить новый узел, введя имя и нажав кнопку «Создать».

Новый узел появится под выбранным узлом или под корнем, если нет выбранного узла.

https://jsfiddle.net/o61Lpbsw/22/

<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/zTree.v3/3.5.33/js/jquery.ztree.all.min.js"></script>

<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/zTree.v3/3.5.33/css/zTreeStyle/zTreeStyle.css"/>

<div>
    <ul id="treeDemo" class="ztree"></ul>
    <input type="text" id="childName"/>
    <button type="button" id="create">Create child</button>
</div> 

var zTree = null;

var setting = { };

var zNodes =[
  { name:"pNode 01", open:true,
   children: [
     { name:"pNode 11", open: true,
      children: [
        { name:"leaf node 111"},
        { name:"leaf node 112"},
        { name:"leaf node 113"},
        { name:"leaf node 114"}
      ]},
     { name:"pNode 12", open: true,
      children: [
        { name:"leaf node 121"},
        { name:"leaf node 122"},
        { name:"leaf node 123"},
        { name:"leaf node 124"}
      ]},
     { name:"pNode 13 - no child", open: true, isParent:true}
   ]},
  { name:"pNode 02", open: true,
   children: [
     { name:"pNode 21", open:true,
      children: [
        { name:"leaf node 211"},
        { name:"leaf node 212"},
        { name:"leaf node 213"},
        { name:"leaf node 214"}
      ]},
     { name:"pNode 22", open: true,
      children: [
        { name:"leaf node 221"},
        { name:"leaf node 222"},
        { name:"leaf node 223"},
        { name:"leaf node 224"}
      ]},
     { name:"pNode 23", open: true,
      children: [
        { name:"leaf node 231"},
        { name:"leaf node 232"},
        { name:"leaf node 233"},
        { name:"leaf node 234"}
      ]}
   ]},
  { name:"pNode 3 - no child", open: true, isParent:true}

];

function bind() {
    $('#create').click(function() {
      var name = $('#childName').val();

      var selNode = zTree.getSelectedNodes()[0];

      var child = {name: name};

      zTree.addNodes(selNode, child);  
  });
}

$(document).ready(function(){
  zTree = $.fn.zTree.init($("#treeDemo"), setting, zNodes);

  bind();
});

После добавления нового узла я бы хотел, чтобы дерево прокручивалось вверх, чтобы родительский узел нового узла находился в верхней части экрана.

Как это сделать?

...