Treeview свернут после добавления узлов на лету в Extendscript - PullRequest
0 голосов
/ 03 мая 2019

У меня есть дерево и кнопка. При нажатии кнопки в древовидную структуру добавляется элемент:

function addItem(container, item)
{   
    var parent = container || this.tree; //'this' is pointing to an object, not to the button

    //Replace item by node
    if(parent.type == 'item')
    {
        var ancestor = parent.parent;
        var name = parent.text;
        ancestor.remove(this.tree.selection);
        parent = ancestor.add('node', name);
    }

    var node = parent.add(item.type, item.text);
    node.expanded = item.expanded;
    node.selected = item.selected;
    //this.expandParentNodes(node); <---Implementation below
}

Элементы созданы, но дерево сворачивает все узлы после создания, поэтому я реализовал эту функцию и вызвал ее в конце addItem:

function expandParentNodes(item) {
    if(item.parent != this.tree)
    {
        item.parent.expanded = true;
        this.expandParentNodes(item.parent)
    }  
} 

После второго вызова addItem предок замененного узла разрушается. Остальные узлы все еще расширены (дети и предки). Может кто-нибудь выяснить, почему это происходит, или кто-нибудь знает обходной путь для решения этой проблемы? (Я работаю на Windows)

...