Были такие мысли. На большие деревья размер куков может не хватить :) Придется использовать чтонибудь посерьезнее. А так — отличное дерево. В избранное — если вдруг мне деревья понадобятся.
А я придумал как поступить — буду сохранять состояние самого глубокого узла, а всех предков раскрывать просто автоматом. Тогда может кук хватить.
Кстати какое у них ограничение я не помню?
пишут: Имеются следующие ограничения на размер cookies: всего может храниться до 300 значений cookies. каждый cookie не может превышать 4 Кб.
У меня тут храниться 2 значения.
Я прикинул — если сохранять все раскрытые узлы, то влезет примерно 700 узлов.
Но можно инфу сжать, как я предложил постом выше — буду записывать только состояние самого глубокого открытого узла, так как по логике все родительские узлы должны быть тоже раскрыты.
Количество хранимой инфы в кукуах можно сократить.
У меня тогда проблема была более сложная. Таких деревьев на сайт могло быть и под сотню. И если запоминать состояние каждого, то куков точно не хватило бы :) Пришлось на сервере хранить. Мы еще и таблицы пользователям давали настраивать под себя(колонки добавлять/убирать) — тоже надо было сохранять.
Я говорю, что если вынести пиктограмму папки (треугольник) за название самого пункта, т.е. левее, то будет гораздо лучше. Тогда все названия будут на одном уровне, независимо от того, содержат они вложенные элементы или нет.
да, именно. Типа как слои в фотошопе — перемещать на другое место или закидывать внутрь какого-либо раздела. Применение — например упорядочивание разделов сайта в системе управления сайтом.
наблюдаю как растет дерево с самого начала. хорошая работа, спасибо.
скажите, а есть в планах реализовать добавление вложенности и редактирование названия вложенности?
Поподробнее пожалуйста разъясни, что значит добавлени «Вложенности» и «Название вложенности».
Как-то терминология не подобралсь универсальная, так что не сразу ясно бывает.
к примеру чтобы возле «Ветки» был значек "+" при нажатии на который появлялся новый «Новый лепесток»,
а после этого при нажатии на значок «редактировать» можно было прямо в дереве переименовать надпись «Новый листок»… дальше можно подумать чтобы «Лепестки» можно было сортировать между собой, перетаскивая мышью вверх-вниз… таким образом получим прирост функциональности дерева… хочу сразу оговориться, что я не программист, а следовательно не понимаю сложность реализации всего изложенного выше
Не пробовали загружать дерево в несколькот тысяч элементов?
Недавно воспользовался jquery TreeView, с таким количеством элементов ужасно тормозит даже на скроле
Не было необходимости. У меня максисмум 50-100 элементов было.
1000 элементов сразу загружать — не вижу смысла. При таких объемах нужно подгужать данные по AJAX при раскрытии узла.
записывать информацию в куки, которые передаются при каждом запросе элементов с этого каталога и ниже — это как минимум расточительно. Ограничьте видимость куки только текущей страницей, если это возможно.
Я разрабатывал аналогичный по назначению компонент и постараюсь дать пару дельных советов:
1) зачем вы намеренно усложняете жизнь пользователя, заставляя его формировать дерево со всеми этими
<li><span><a href="#111">1.1.1. Листик</a></span></li>
Все эти теги нужны только вашему скрипту, так пускай он их и расставляет сам, прозрачно для пользователя.
2) если на странице несколько деревьев — то каждое будет иметь одинаковый ID — парсер будет ругаться.
3) почему «multi-derevo», а не «multi-tree»? Или пишите на русском кириллическим алфавитом либо английский алфавитом на английском
4) если в ноде больше одной строки текста — чёрточки позиционируются по низу ноды — красивее было бы по середине.
5) ну и фич, конечно, совсем мало — как минимум не хватает подгрузки частей дерева по XHR, динамических чекбоксов итд.
1) согласен, можно это скрипту отдать
2) это разработка не завершена, никто не мешает заменить ID на класс
3) как хочу так и пишу — это мое личное дело. Может мне «мульти-дерево» слух ласкает.
4) красивее было бы, но требует дополнительной доработки скрипта — пока не критично и второстепенно
5) фич… ну вы конечно молодец, что идеи предалагаете, но я для себя в первую очередь делал — по необходимости. А эта жалоба — запрос на улучшение уже )
Динамические чекбоксы? Есть такая версия, но в личном пользовании. Доделать можно как угодно.
Многоуровневое дерево с маркерами, сохраняющее состояние (HTML, CSS, jQuery, Cookies)