Дерево JavaScript с закладкой браузера - PullRequest
0 голосов
/ 17 октября 2019

Я нахожусь в некоторой уникальной ситуации, когда мне нужно реализовать древовидный элемент управления в браузере с состоянием узлов (открыто / закрыто / выбрано), связанных с URL, чтобы пользователь мог добавить в закладки или поделиться URL-адресом, а второйПользователь на другом конце провода, когда открывает ссылку, может видеть дерево с точно такими же открытыми узлами. В основном все дерево в одном и том же состоянии. В настоящее время под состоянием мы подразумеваем только открытые / закрытые и выбранные узлы.

Долго я думаю реализовать его путем сохранения состояния каждого узла обратно в БД, генерирования хеша из девяти или одиннадцати символов (как у youtubeуникальный URL-адрес видео) и обновите адресную строку пользователя с помощью этого хэша.

Что-то вроде

http://myapp/directory/my-docs/UlksjhT65

Хэш генерируется путем рекурсивной проверки всех узлов на их открытое / закрытое и выбранное состояние изатем объединение всех этих данных в виде текста и генерирование хеша md5 из этой строки (md5 только для ссылки).

Есть два вопроса относительно ссылки на вышеуказанную проблему.

1-Может ли вся эта часть генерации URL и отображения дерева быть выполнена только в javascript? Это имеет очевидное преимущество, заключающееся в сохранении большого количества обращений к серверу при обновлении состояния каждого узла. Может ли существовать обратимый алгоритм генерации хеша, который также может отобразить хеш обратно в дерево?

2 - Если решение только с использованием javascript невозможно, то мое текущее решение даже близко к надежности для развертывания вПроизводственная система?

...