Dynatree мульти-выборная реализация в стиле Windows - PullRequest
0 голосов
/ 21 апреля 2010

Я хотел бы реализовать множественный выбор в стиле Windows:

когда пользователь удерживает клавишу CTRL и выбирает несколько узлов дерева. Dynatree (отсюда http://wwwendt.de/tech/dynatree/doc/dynatree-doc.html) по умолчанию имеет флажки для выбора узла, который моему клиенту не нравится.

У меня вопрос: возможно ли реализовать то, что мне нужно, используя предоставленный набор обратных вызовов? также, конечно, когда я удерживаю клавишу CTRL и щелкаю по узлу, открывается новое окно. Есть ли способ подавить эту функциональность? я думаю, что я должен был бы сделать через CSS?

1 Ответ

0 голосов
/ 21 апреля 2010

Посмотрите пример и исходный код здесь http://wwwendt.de/tech/dynatree/doc/sample-select.html

В последнем примере на этой странице используется опция дерева checkbox: false, чтобы скрыть флажки. Обработчик onClick вызывает dtnode.toggleSelection().

Это может быть заменено чем-то вроде

if not CTRL pressed:
    deselect all nodes
toggle selection

Удаление всех узлов можно сделать так:

tree.visit(function(dtnode) {
    dtnode.select(false);
});
...